Junior
45
questionbank

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

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

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

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

Синтаксис:

sql

Пример INNER JOIN:

Предположим, у нас есть таблицы Orders (id заказа, id клиента) и Customers (id клиента, имя клиента).

Таблица Orders:

order_idcustomer_id
1101
2102
3101
4103

Таблица Customers:

customer_idcustomer_name
101Alice
102Bob
104Charlie

Запрос INNER JOIN:

sql

Результат:

order_idcustomer_name
1Alice
2Bob
3Alice
4NULL

Исправленный результат INNER JOIN:

order_idcustomer_name
1Alice
2Bob
3Alice