САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ

SQL Учебник

SQL Главная SQL Введение SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL AND, OR, NOT SQL ORDER BY SQL INSERT INTO SQL Null SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() и MAX() SQL COUNT(), AVG() и ... SQL LIKE SQL Подстановочный SQL IN SQL BETWEEN SQL Псевдонимы SQL JOIN SQL JOIN Внутри SQL JOIN Слева SQL JOIN Справа SQL JOIN Полное SQL JOIN Сам SQL UNION SQL GROUP BY SQL HAVING SQL Exists SQL Any, All SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL SQL Хранимая SQL Комментарии SQL Operators

SQL База данных

SQL Создать БД SQL Откинуть БД SQL Резервная БД SQL Создать таблицу SQL Откинуть таблицу SQL Изменить таблицу SQL Ограничения SQL Не ноль SQL Уникальный SQL Первичный ключ SQL Внешний ключ SQL Проверить SQL По умолчанию SQL Индекс SQL Авто приращение SQL Даты SQL Представление SQL Инъекция SQL Хостинг SQL Типы данных

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Викторина SQL Упражнения SQL Сертификат

SQL FULL OUTER JOIN



FULL OUTER JOIN

Ключевое слово FULL OUTER JOIN возвращает все записи, когда есть совпадение в записях таблицы left (table1) или right (table2).

Примечание: FULL OUTER JOIN потенциально может возвращать очень большие результирующие наборы!

Совет: FULL OUTER JOIN и FULL JOIN - это одно и то же.

Синтаксис FULL OUTER JOIN

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

SQL FULL OUTER JOIN


Демо база данных

В этом уроке мы будем использовать хорошо известный пример базы данных Northwind.

Ниже приведен выбор из таблицы "Customers":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

И выбор из таблицы "Orders":

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2


Пример SQL FULL OUTER JOIN

Следующая инструкция SQL выбирает всех клиентов и все заказы:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Выбор из результирующего набора может выглядеть следующим образом:

CustomerName OrderID
Alfreds Futterkiste  
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería 10365
  10382
  10351

Примечание: Ключевое слово FULL OUTER JOIN возвращает все совпадающие записи из обеих таблиц, независимо от того, совпадает ли другая таблица или нет. Таким образом, если есть строки в разделе "Customers", которые не имеют совпадений в разделе "Orders", или если есть строки в разделе "Orders", которые не имеют совпадений в разделе "Customers", то эти строки также будут перечислены.