JOINs

Приветствую всех, сегодня поговорим о объединение данных в таблице.

Внутреннее объединение-INNER JOIN

INNER JOIN (внутреннее объединение) — объединение, при котором в запросе все записи из таблицы на левой и правой стороне операции INNER JOIN добавляются в результирующий набор записей, при соответствии условию значений в связанных полях.

Производим выборку всех данных из объеденения таблиц JoinTest1 и JoinTest2 по связующим полям id_jt1 и id_jt2.

Левое Внешнее Объединение-LEFT OUTER JOIN

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

Производим выборку всех данных из результирующего набора данных левого внешнего объеденения таблиц JoinTest1 и JoinTest2 по связующим полям id_jt1 и id_jt2.

Правое Внешнее Объединение-RIGHT OUTER JOIN

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

Производим выборку всех данных из результирующего набора данных правого внешнего объеденения таблиц JoinTest1 и JoinTest2 по связующим полям id_jt1 и id_jt2.

Полное Внешнее Объединение-FULL OUTER JOIN

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

  • значения из правой таблицы, не имеющие соответствий в левой таблице;
  • значения из левой таблицы, не имеющие соответствий в правой таблице.

 

Перекрестное Объединение-CROSS JOIN

CROSS JOIN (перекрестное объединение) — выполняет декартово произведение таблиц, вовлеченных в объединение. В CROSS JOIN не используется конструкция ON

Производим выборку всех данных из результирующего набора данных перекрестного  объеденения таблиц JoinTest1 и JoinTest2.

 

UNION

UNION объединяет результаты двух запросов SELECT в единую результирующую таблицу.

Если результаты обоих запросов содержат строки с совпадающими значениями ячеек, то, операция UNION помещает в результирующую таблицу только одну такую строку. Если в результате одного из запросов имеются строки с уникальными значениями, не совпадающими ни с одной из строк результата другого запроса, то эта строка  так-же помещается в результирующую таблицу.

Операция UNION требует использования таких запросов, каждый из которых возвращает выборку в табличном представлении, при этом, типы и количество столбцов должны совпадать.

UNION ALL

UNION ALL объединяет результаты двух запросов SELECT в единую результирующую таблицу.

Если результаты обоих запросов содержат строки с совпадающими значениями ячеек, то, операция UNION ALL помещает в результирующую таблицу все дублирующиеся строки. Если в результате одного из запросов имеются строки с уникальными значениями, не совпадающими ни с одной из строк результата другого запроса, то эта строка так-же помещается в результирующую таблицу.

Операция UNION ALL требует использования таких запросов, каждый из которых возвращает выборку в табличном представлении, при этом, типы и количество столбцов должны совпадать.

EXCEPT

Операция EXCEPT исключает результаты правого запроса.

Если результат левого запроса операции EXCEPT содержит уникальные строки, не совпадающие ни с одной из строк правого запроса, то, только такие строки помещается в результирующую таблицу. Уникальные строки правого запроса операции EXCEPT, никогда не входят в результирующую таблицу. Если результаты обоих запросов содержат совпадающие строки, то, операция EXCEPT игнорирует их. Операция EXCEPT требует использования таких запросов, каждый из которых возвращает выборку в табличном представлении, при этом, типы и количество столбцов должны совпадать.

INTERSECT

INTERSECT объединяет результаты двух запросов SELECT в единую результирующую таблицу.

Если результаты обоих запросов содержат строки с совпадающими значениями ячеек, то, операция INTERSECT помещает в результирующую таблицу только одну такую строку.

Если в результате одного из запросов имеются уникальные строки, не совпадающие ни с одной из строк результата другого запроса,  то такие строки игнорируются операцией INTERSECT.

Операция INTERSECT требует использования таких запросов, каждый из которых возвращает выборку в табличном представлении, при этом, типы и количество столбцов должны совпадать.

Примеры

Показать статистику по количеству проданных единиц товара.

Если в используемых таблицах, имеются столбцы с одинаковыми именами,  то нужно явно указать к какой таблице относится данный столбец.

Вывести общую суму продаж по сотрудникам.

Вывести общую суму продаж по каждому из сотрудников

Вывести план подчинения сотрудников (Кто кому подчиняется)

 

 

 

 

Обновлено: 20.08.2018 — 16:19

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.