(INNER) JOIN: возвращает записи, которые имеют совпадающие значения в обеих таблицах.
LEFT (OUTER) JOIN: вернуть все записи из левой таблицы и сопоставленные записи из правой таблицы.
RIGHT (OUTER) JOIN: вернуть все записи из правой таблицы и сопоставленные записи из левой таблицы.
FULL (OUTER) JOIN: возвращать все записи, когда есть совпадение в левой или правой таблице
Например, предположим, у нас есть две таблицы со следующими записями:
Таблица А
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Таблица Б
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
Право Присоединиться
Примечание: выдаст все выбранные строки в TableB, а также все общие выбранные строки в TableA.
Синтаксис:
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;
Результат будет:
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;
Примените его в своем примере
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
RIGHT JOIN
если мы можем добиться любого желаемого результата простоLEFT JOIN
? : P