Хочешь понять разницу между JOIN'ами раз и навсегда? Вот тебе визуальная таблица, которую должен видеть каждый разработчик, аналитик и SQL-ниндзя 💻
INNER JOIN
SELECT *
FROM A
INNER JOIN B ON A.key = B.key;
💬 Забирает только те строки, где есть совпадение по ключу в обеих таблицах.
FULL JOIN
SELECT *
FROM A
FULL JOIN B ON A.key = B.key;
💬 Забирает всё: совпадения и не совпадения из обеих таблиц. NULL — там, где пусто.
FULL JOIN (NULL CHECK)
SELECT *
FROM A
FULL JOIN B ON A.key = B.key
WHERE A.key IS NULL OR B.key IS NULL;
💬 Оставляет только уникальные записи, которых нет во второй таблице.
LEFT JOIN
SELECT *
FROM A
LEFT JOIN B ON A.key = B.key;
💬 Берёт все из A, даже если в B совпадений нет (в этом случае B будет NULL).
LEFT JOIN (NULL CHECK)
SELECT *
FROM A
LEFT JOIN B ON A.key = B.key
WHERE B.key IS NULL;
💬 Находит строки из A, которых нет в B.
RIGHT JOIN
SELECT *
FROM A
RIGHT JOIN B ON A.key = B.key;
💬 То же самое, что LEFT JOIN, но теперь в приоритете таблица B.
RIGHT JOIN (NULL CHECK)
SELECT *
FROM A
RIGHT JOIN B ON A.key = B.key
WHERE A.key IS NULL;
💬 Забирает строки из B, которых нет в A.
🔥 Это не просто синтаксис — это основа аналитики, ETL, отчётов и связей в БД.
Обязательно сохрани, пригодится! 😎
#sql #cheatsheet #doc
