кодесурса
«MySQL

PostgreSQL ЛЕВОЕ СОЕДИНЕНИЕ или ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ

script1adsense2code
script1adsense3code

Что такое левостороннее или левостороннее соединение PostgreSQL?

PostgreSQL LEFT JOIN объединяет две таблицы и выбирает строки на основе условия, которое совпадает в обеих таблицах, и несопоставленные строки также будут доступны из таблицы, написанной до предложения JOIN.

Предположим: table1 LEFT JOIN table2 СОСТОЯНИЕ СОЕДИНЕНИЯ

В PostgreSQL LEFT JOIN таблица table2 зависит от таблицы table1 и всех таблиц, от которых зависит table1, а также table table1 зависит от всех таблиц, которые используются в условии LEFT JOIN, кроме table2. Условие LEFT JOIN используется для определения способа извлечения строк из таблицы table2.

Если в таблице table1 есть строка, соответствующая условию WHERE, но в таблице table2 нет строки, соответствующей условию ON, создается дополнительная строка table2, в которой для всех столбцов установлено значение NULL.

Итак, в случае LEFT JOIN или LEFT OUTER JOIN, PostgreSQL -

1. берет все выбранные значения из левой таблицы

2. объединяет их с именами столбцов (указанными в условии) из правой таблицы

3. получить соответствующие строки из обеих связанных таблиц.

4. устанавливает значение каждого столбца из правой таблицы в NULL, что не соответствует левой таблице.

Синтаксис:

 Выбрать *
ИЗ таблицы 1
ВЛЕВО [ВНЕШНИЙ] РЕЙТИНГ table2
ON table1.column_name = table2.column_name;

Иллюстрированная презентация PostgreSQL Left Join или Left Outer Join

«PostGreSQL

Соединение PostgreSQL LEFT извлекает полный набор записей слева, с соответствующими записями (в зависимости от доступности) справа. Результат - NULL в правой части, когда сопоставление не будет.

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


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


Пример таблицы: Счет-фактура :


Пример:

Код:

SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM item
LEFT JOIN invoice
ON item.item_no=invoice.item_no;

ИЛИ ЖЕ

Код:

SELECT item.item_no,item_descrip,
invoice.invoice_no,invoice.sold_qty
FROM item
LEFT OUTER JOIN invoice
ON item.item_no=invoice.item_no;

Выход:

«PostgreSQL

Пояснение:

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

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

«PostGreSQL

Предыдущая: ВНУТРЕННЯЯ РЕШЕНИЕ
Далее: ПРАВИЛЬНОЕ СОЕДИНЕНИЕ

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code