Junior
39
questionbank

Как работает SQL Join?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

SQL JOIN объединяет строки из двух или более таблиц на основе связанного столбца между ними. Существует несколько типов JOIN:

  • INNER JOIN: Возвращает строки, где есть совпадения значений в обеих таблицах.
  • LEFT (OUTER) JOIN: Возвращает все строки из левой таблицы и совпадающие строки из правой. Если совпадений в правой таблице нет, возвращаются NULL значения для столбцов правой таблицы.
  • RIGHT (OUTER) JOIN: Возвращает все строки из правой таблицы и совпадающие строки из левой. Если совпадений в левой таблице нет, возвращаются NULL значения для столбцов левой таблицы.
  • FULL (OUTER) JOIN: Возвращает все строки из обеих таблиц. Если совпадений нет, возвращаются NULL значения для соответствующих столбцов.
  • CROSS JOIN: Возвращает декартово произведение двух таблиц (каждая строка из первой таблицы объединяется с каждой строкой из второй).

Синтаксис обычно выглядит так:

sql

Пример INNER JOIN:

sql

Рассмотрим таблицы customers и orders:

customers

customer_idcustomer_name
1Alice
2Bob
3Charlie

orders

order_idcustomer_idamount
1011100
1022150
1031200
104450

Результат INNER JOIN будет:

order_idcustomer_name
101Alice
102Bob
103Alice

Результат LEFT JOIN (orders LEFT JOIN customers):

order_idcustomer_idamountcustomer_name
1011100Alice
1022150Bob
1031200Alice
104450NULL