Ответ
INNER JOIN — это операция соединения таблиц в SQL, которая возвращает только те строки, для которых условие соединения (ON) выполняется в обеих таблицах. Строки без соответствия исключаются из результирующего набора.
Пример:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
В этом запросе в результат попадут только заказы, для которых существует соответствующий клиент в таблице Customers. Заказы без клиента или клиенты без заказов будут отфильтрованы.
Ключевые особенности и best practices:
- Производительность: Обычно выполняется быстрее, чем
OUTER JOIN, так как результирующий набор меньше. Для оптимизации важно иметь индексы на полях, используемых в условииON. - Явное указание типа JOIN: Всегда используйте ключевое слово
INNERдля ясности, хотяJOINпо умолчанию во многих СУБД является внутренним. - Соединение нескольких таблиц: Можно последовательно соединять множество таблиц.
- Альтернативный синтаксис: Эквивалентом является перечисление таблиц в
FROMс условием вWHERE(старый синтаксис):SELECT Orders.OrderID, Customers.CustomerName FROM Orders, Customers WHERE Orders.CustomerID = Customers.CustomerID;Однако современный синтаксис с
INNER JOINсчитается более читаемым и явным.
Видео-ответы
▶
▶
▶
▶
▶