PostgreSQL - ВНУТРЕННЕЕ СОЕДИНЕНИЕ
В PostgreSQL ключевое слово INNER JOIN выбирает все строки из обеих таблиц, пока выполняется условие. Это ключевое слово создаст набор результатов путем объединения всех строк из обеих таблиц, которым удовлетворяет условие, т.е. значение общего поля будет одинаковым.
Синтаксис: ВЫБЕРИТЕ table1.column1, table1.column2, table2.column1, .... ИЗ table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column; table1: Первая таблица. table2: Вторая таблица Match_column: столбец, общий для обеих таблиц.
Давайте проанализируем приведенный выше синтаксис:
- Во-первых, с помощью оператора SELECT мы указываем таблицы, из которых мы хотим, чтобы данные были выбраны.
- Во-вторых, мы указываем основную таблицу.
- В-третьих, мы указываем таблицу, к которой присоединяется основная таблица.
Приведенная ниже диаграмма Венна иллюстрирует работу предложения PostgreSQL INNER JOIN:
В этой статье мы будем использовать образец базы данных по аренде DVD , который описан здесь и может быть загружен, щелкнув по этой ссылке в наших примерах.
Теперь давайте рассмотрим несколько примеров.
Пример 1:
Здесь мы будем присоединять таблицу «покупатель» к таблице «платеж» с помощью предложения INNER JOIN.
SELECT customer.customer_id, first_name, last_name, email, amount, payment_date FROM customer INNER JOIN payment ON payment.customer_id = customer.customer_id;
Выход:
Пример 2:
Здесь мы будем соединять таблицу «покупатель» с таблицей «платеж» с помощью предложения INNER JOIN и сортировать их с помощью предложения ORDER BY:
ВЫБРАТЬ customer.customer_id, имя, фамилия, Эл. адрес, количество, payment_date ИЗ покупатель ВНУТРЕННИЙ СОЕДИНЕНИЕ платежа НА payment.customer_id = customer.customer_id СОРТИРОВАТЬ ПО customer.customer_id;
Выход:
Пример 3:
Здесь мы будем присоединять таблицу «customer» к таблице «payment» с помощью предложения INNER JOIN и фильтровать их с помощью предложения WHERE:
ВЫБРАТЬ customer.customer_id, имя, фамилия, Эл. адрес, количество, payment_date ИЗ покупатель ВНУТРЕННИЙ СОЕДИНЕНИЕ платежа НА payment.customer_id = customer.customer_id КУДА customer.customer_id = 15;
Выход:
Пример 4:
Здесь мы установим связь между тремя таблицами: staff, payment и customer, используя предложение INNER JOIN.
ВЫБРАТЬ customer.customer_id, customer.first_name customer_first_name, customer.last_name customer_last_name, customer.email, Staff.first_name Staff_first_name, Staff.last_name Staff_last_name, количество, payment_date ИЗ покупатель ВНУТРЕННИЙ СОЕДИНЕНИЕ платежа НА payment.customer_id = customer.customer_id ВНУТРЕННИЕ ПРИСОЕДИНЯЙТЕСЬ к сотрудникам НА payment.staff_id = staff.staff_id;
Выход: