Какие есть типы соединений (JOIN) в PostgreSQL?
Вопрос проверяет знание типов объединений таблиц и их применение для работы с данными.
Короткий ответ
PostgreSQL поддерживает четыре основных типа соединений: INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL OUTER JOIN. Они используются для объединения данных из нескольких таблиц, выбирая соответствующие или все записи в зависимости от типа соединения.
Длинный ответ
Соединения (JOIN) позволяют объединять строки из двух или более таблиц на основе связей между ними.
Основные типы соединений:
- INNER JOIN: выбирает только совпадающие строки.
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.id;- LEFT JOIN: возвращает все строки из левой таблицы и совпадающие строки из правой.
SELECT * FROM orders LEFT JOIN customers ON orders.customer_id = customers.id;- RIGHT JOIN: возвращает все строки из правой таблицы и совпадающие строки из левой.
SELECT * FROM orders RIGHT JOIN customers ON orders.customer_id = customers.id;- FULL OUTER JOIN: возвращает все строки из обеих таблиц, заполняя отсутствующие данные NULL.
SELECT * FROM orders FULL OUTER JOIN customers ON orders.customer_id = customers.id;
Соединения позволяют гибко комбинировать данные из нескольких таблиц в зависимости от бизнес-логики.