PostgreSQL INNER JOIN
Как использовать Inner Join в PostgreSQL?
Внутреннее соединение определяет, какие строки из обеих участвующих таблиц должны возвращаться при совпадении между столбцами. Предложение ON или USING используется с условием соединения. Предложение ON в условии соединения принимает логическое выражение в соответствии с предложением WHERE и сопоставляет общие столбцы участвующих таблиц, когда логическое выражение оценивает значение true и определяет, какие строки должны быть объединены.
С другой стороны, предложение USING берет список имен столбцов, разделенных запятой, который является общим для обеих участвующих таблиц и выполняет соединение при сопоставлении каждой из этих пар столбцов. Предложение USING возвращает общий столбец один раз в качестве выходного, а за ним следуют остальные столбцы, и общие столбцы будут появляться первыми, когда «*» используется с оператором SELECT.
Синтаксис:
Синтаксис:
ВЫБРАТЬ [* | column_list] ИЗ таблицы 1 INNER JOIN table2 ON table1.column_name = table2.column.name;
ИЛИ ЖЕ
Синтаксис:
ВЫБРАТЬ [* | column_list] ИЗ таблицы 1 INNER JOIN table2 ИСПОЛЬЗОВАНИЕ (column.name);
ИЛИ ЖЕ
ВЫБРАТЬ [* | column_list] ИЗ таблицы 1, таблицы 2 ГДЕ table.column_name = table2.column_name;
Образец таблицы: клиент
Образец таблицы: пункт
Образец таблицы: Счет
Пример внутреннего соединения с предложением ON
Код:
SELECT *
FROM invoice
INNER JOIN item
ON invoice.item_no=item.item_no;
Или может быть написано как:
Код:
SELECT *
FROM invoice,item
WHERE
invoice.item_no=item.item_no;
Выход:
Наглядная презентация для приведенного выше примера
Пример внутреннего соединения с предложениями ON и WHERE
Код:
SELECT *
FROM invoice
INNER JOIN item
ON invoice.item_no=item.item_no
WHERE
item.rate>=10;
Выход:
Пример внутреннего объединения с ON для определенных столбцов
Код:
SELECT invoice.invoice_no,invoice.cust_no, invoice.sold_qty,
item.item_no,item.item_descrip
FROM invoice
INNER JOIN item
ON invoice.item_no=item.item_no
WHERE
item.rate>=10;
Выход:
Пример внутреннего соединения с предложением USING
Код:
SELECT *
FROM invoice
INNER JOIN item
USING (item_no);
Выход:
объяснение
В приведенном выше примере столбец «item_no» появляется первым и только один раз, потому что используется предложение USING.
Пример внутреннего соединения с предложением NATURAL
Код:
SELECT *
FROM invoice
NATURAL INNER JOIN item;
Выход:
объяснение
В приведенном выше примере столбец 'item_no' появляется только один раз, потому что этот столбец является общим в обеих таблицах.
Inner Join с предложением NATURAL ведет себя как CROSS JOIN
Код:
SELECT *
FROM customer
NATURAL INNER JOIN item;
Выход:
объяснение
В приведенном выше примере нет соответствующих строк между участвующими таблицами; поэтому все столбцы появляются в этом соединении, и оно ведет себя как перекрестное соединение.
Предыдущая: CROSS JOIN
Далее: LEFT JOIN
Новый контент: Composer: менеджер зависимостей для PHP , R программирования