PostgreSQL - ВНУТРЕННЕЕ СОЕДИНЕНИЕ

Опубликовано: 18 Февраля, 2022

В 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;

Выход: