Ключевое слово FULL JOIN SQL
- Предыдущая страница SQL Right Join
- Следующая страница SQL Union
Ключевое слово FULL JOIN SQL
Если существует соответствие хотя бы в одной из таблиц, FULL JOIN возвращает строки.
Грамматика ключевого слова FULL JOIN
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
Комментарии:В некоторых базах данных FULL JOIN называется FULL OUTER JOIN.
Оригинальная таблица (используется в примерах):
"Таблица "Persons":
Id_P | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
1 | Adams | John | Улица Оксфорд | Лондон |
2 | Bush | George | Пятая авеню | Нью-Йорк |
3 | Carter | Thomas | Улица Чанан | Пекин |
"Таблица "Orders":
Id_O | OrderNo | Id_P |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
5 | 34764 | 65 |
Пример полной связи (FULL JOIN)
Теперь мы хотим вывести всех людей, их заказы, все заказы и людей, которые их заказали.
Вы можете использовать следующую SELECT-запрос:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
Результаты набора:
LastName | FirstName | OrderNo |
---|---|---|
Adams | John | 22456 |
Adams | John | 24562 |
Carter | Thomas | 77895 |
Carter | Thomas | 44678 |
Bush | George | |
34764 |
Ключевое слово FULL JOIN возвращает все строки из левой таблицы (Persons) и правой таблицы (Orders). Если строки в таблице "Persons" не соответствуют строкам в таблице "Orders", или если строки в таблице "Orders" не соответствуют строкам в таблице "Persons", эти строки также будут включены.
- Предыдущая страница SQL Right Join
- Следующая страница SQL Union