INNER JOIN в PostgreSQL используется для объединения строк из двух таблиц на основе совпадающих значений в связанных столбцах. Возвращаются только те строки, для которых найдено соответствие в обеих таблицах.
Использование INNER JOIN
Объединение таблиц users и orders по полю user_id:
SELECT users.id, users.name, orders.id AS order_id, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id;Этот запрос вернет только тех пользователей, у которых есть заказы.
Фильтрация результатов
Дополнение INNER JOIN условием WHERE для выбора заказов на сумму более 100:
SELECT users.id, users.name, orders.id AS order_id, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id
WHERE orders.total > 100;Объединение нескольких таблиц
Пример соединения трех таблиц: users, orders и products:
SELECT users.name, orders.id AS order_id, products.name AS product_name
FROM users
INNER JOIN orders ON users.id = orders.user_id
INNER JOIN products ON orders.product_id = products.id;Этот запрос возвращает пользователей, их заказы и соответствующие товары.