(INNER) JOIN: Возвращает записи, имеющие соответствующие значения в обеих таблицах.
ВЛЕВО: Верните все записи из левой таблицы и соответствующие записи из правой таблицы.
RIGHT (OUTER) JOIN: Возврат всех записей из правой таблицы и соответствующих записей из левой таблицы.
ПОЛНЫЙ (OUTER) РЕГИСТРИРУЙТЕСЬ: Возвращать все записи, когда есть совпадение в левой или правой таблице
Например, давайте предположим, что у нас есть две таблицы со следующими записями:
Таблица
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
Inner Регистрация
Примечание: Это дает пересечение двух таблицы.
Синтаксис
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
Left Регистрация
Примечание: даст все выбранные строки в 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
Right Регистрация
Примечание: предоставит все выбранные строки в TableB, а также любые общие выбранные строки в таблицеA.
Синтаксис:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Применить его в samole таблице:
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;
Применить его в SAMP [ле таблицы:
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
Некоторые факты
Для внутренних соединений, порядок не имеет значения
Для (влево, вправо или FULL) OUTER присоединяется, порядок дело
Найти ещё на w3schools
Итак, зачем нам« ПРАВОЕ СОЕДИНЕНИЕ », если мы сможем достичь каких-либо желаемый результат с помощью только «LEFT JOIN»? : P –
@ Силапа Алиев. На самом деле это очень хороший вопрос. Может ли кто-нибудь ответить? : D –
'Select * from Table1 left join Таблица 2' вернет ВСЕ записи таблицы 1 плюс совпадающие записи таблицы 2. Противоположный' Select * from Table1 right join Table 2' должен вернуть ВСЕ записи из Таблицы 2 и совпадающие записи табл. 1. Надеется, что это поможет. –