(INNER) JOIN: Возвращает записи, которые имеют совпадающие значения в обеих таблицах.
LEFT (OUTER) JOIN: Вернуть все записи из левой таблицы и сопоставленные записи из правой таблицы.
RIGHT (OUTER) JOIN: Вернуть все записи из правой таблицы и сопоставленные записи из левой таблицы.
FULL (OUTER) JOIN: Возвращать все записи, когда есть совпадение в левой или правой таблице
Например, предположим, у нас есть две таблицы со следующими записями:
Таблица A
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Таблица B
id2 place
_____________
1 Nepal
2 USA
3 Lumbini
5 Kathmandu
Внутреннее присоединение
Примечание: он дает пересечение двух таблиц.
Синтаксис
SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Примените его в таблице образцов:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;
Результат будет:
firstName lastName Place
_____________________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Соединение влево
Примечание: выдаст все выбранные строки в TableA, а также все общие выбранные строки в TableB.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Примените его в таблице образцов
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;
Результат будет:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Право на присоединение
Примечание: выдаст все выбранные строки в таблице B, а также все общие выбранные строки в таблице A.
Синтаксис:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Примените это в своей таблице Самоле:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;
Результат будет bw:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Null Null Kathmandu
Полное присоединение
Примечание: это то же самое, что и операция объединения, она вернет все выбранные значения из обеих таблиц.
Синтаксис:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Примените его в вашем семпле [le table:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA FULL JOIN TableB ON TableA.id = TableB.id2;
Результат будет:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Null Null Kathmandu
Некоторые факты
Для ВНУТРЕННИХ присоединений порядок не имеет значения
Для (ЛЕВЫХ, ПРАВИЛЬНЫХ или ПОЛНЫХ) ВНЕШНИХ объединений порядок имеет значение
Узнайте больше в w3schools