Итак, давайте разберёмся с разницей операторов JOIN в SQL.
Базово, JOIN нужен для соединения таблиц.
В основном, у нас есть несколько основных типов JOIN:
1. INNER JOIN: Возвращает строки, которые имеют совпадения в обеих таблицах. Если в одной из таблиц нет соответствующей строки, то она не будет включена в результат.
2. LEFT JOIN (или LEFT OUTER JOIN): Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если в правой таблице нет совпадений, то вернутся NULL значения для её столбцов.
3. RIGHT JOIN (или RIGHT OUTER JOIN): Противоположен LEFT JOIN. Возвращает все строки из правой таблицы и совпадающие строки из левой. Если в левой таблице нет совпадений, то вернутся NULL значения для её столбцов.
4. FULL JOIN (или FULL OUTER JOIN): Возвращает строки, когда есть совпадение в одной из таблиц. Если строки не совпадают, то они всё равно будут включены, с NULL значениями в местах отсутствующих данных.
5. CROSS JOIN: Возвращает декартово произведение строк двух таблиц. Это значит, что каждая строка из первой таблицы будет соединена с каждой строкой из второй.
📌пара коварных вопросов, на которых пытаются подловить кандидата на собеседованиях:
1. Чем отличается INNER JOIN от просто JOIN?
2. В чем разница между LEFT/RIGHT/FULL OUTER JOIN и LEFT/RIGHT/FULL JOIN?
Ответ один - разницы нет!
Post #77
250
- 🔥 8