кодесурса
«MySQL

PostgreSQL FULL OUTER JOIN

script1adsense2code
script1adsense3code

Что такое полное внешнее объединение в PostgreSQL?

PostgreSQL FULL OUTER JOIN возвращает все строки из обеих участвующих таблиц, расширенные нулями, если они не совпадают в противоположной таблице. FULL OUTER JOIN объединяет результаты как левого, так и правого внешних объединений и возвращает все (совпадающие или не совпадающие) строки из таблиц с обеих сторон предложения join.

Синтаксис:

 ВЫБРАТЬ * | имя_столбца (ы)
FROM table_name1
FULL [OUTER] РЕЙТИНГ table_name2 
ON table_name1.column_name = table_name2.column_name

Иллюстрированная презентация полного внешнего соединения PostgreSQL

«PostGreSQL

PostgreSQL FULL OUTER JOIN выбирает совпадающие строки из таблиц (table1 и table2), участвующих в этом соединении, а также строки с нулем, если они не совпадают в противоположной таблице.

Образец таблицы: клиент


Образец таблицы: пункт


Образец таблицы: Счет


Пример:

Код:

SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM invoice
FULL JOIN item
ON invoice.item_no=item.item_no
ORDER BY item_no;

ИЛИ ЖЕ

Код:

SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM invoice
FULL OUTER JOIN item
ON invoice.item_no=item.item_no
ORDER BY item_no;

Выход:

«PostgreSQL

объяснение

В вышеприведенном примере появились совпадающие строки как элемента таблицы, так и счета-фактуры, а также появилась несопоставленная строка, т.е. I8 таблицы элементов, которой нет в таблице счетов-фактур, и для этой строки таблицы элементов новый Строка в таблице счетов-фактур сгенерирована и устанавливает значение NULL.

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

«PostGreSQL

Альтернативный оператор для этого примера: использование предложения UNION

Код:

SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM invoice
LEFT JOIN item
ON invoice.item_no=item.item_no
UNION
SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM invoice
RIGHT JOIN item 
ON invoice.item_no=item.item_no
ORDER BY item_no;

Предыдущий: RIGHT JOIN
Далее: ПОДПИСКИ

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code