кодесурса
«MySQL

PostgreSQL INNER JOIN

script1adsense2code
script1adsense3code

Как использовать 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;

Выход:

«PostgreSQL

Наглядная презентация для приведенного выше примера

«PostGreSQL

Пример внутреннего соединения с предложениями ON и WHERE

Код:

SELECT * 
FROM invoice
INNER JOIN item
ON invoice.item_no=item.item_no
WHERE 
item.rate>=10;

Выход:

«PostgreSQL

Пример внутреннего объединения с 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;

Выход:

«PostgreSQL

Пример внутреннего соединения с предложением USING

Код:

SELECT * 
FROM invoice
INNER JOIN item
USING (item_no);

Выход:

«PostgreSQL

объяснение

В приведенном выше примере столбец «item_no» появляется первым и только один раз, потому что используется предложение USING.

Пример внутреннего соединения с предложением NATURAL

Код:

SELECT * 
FROM invoice
NATURAL INNER JOIN item;

Выход:

«PostgreSQL

объяснение

В приведенном выше примере столбец 'item_no' появляется только один раз, потому что этот столбец является общим в обеих таблицах.

Inner Join с предложением NATURAL ведет себя как CROSS JOIN

Код:

SELECT * 
FROM customer
NATURAL INNER JOIN item;

Выход:

«PostgreSQL

объяснение

В приведенном выше примере нет соответствующих строк между участвующими таблицами; поэтому все столбцы появляются в этом соединении, и оно ведет себя как перекрестное соединение.

Предыдущая: CROSS JOIN
Далее: LEFT JOIN

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code