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;
Этот запрос возвращает пользователей, их заказы и соответствующие товары.