Основы языка TRANSACT SQL. Казакова И.А. - 102 стр.

UptoLike

Составители: 

101
12.2. Внешнее соединение
При внешнем соединении в результирующую таблицу поме-
щаются не только парные строки, но и строки, не нашедшие себе
пару. По способу добавления непарных строк различают:
левое открытое соединение, когда непарные строки добав-
ляются из таблицы, расположенной слева по отношению к опции
JOIN ;
правое открытое соединение, когда непарные строки добав-
ляются из правой по отношению к JOIN таблицы;
полное открытое соединение, когда добавляются все непар-
ные строки обеих соединяемых таблиц.
12.2.1. Внешнее левое соединение LEFT JOIN
При внешнем левом соединении в результирующий набор бу-
дут выбраны все строки из левой таблицы (указываемой первой).
При совпадении значений по соединяемым (одноименным) столб-
цам значения второй таблицы заносятся в результирующий набор в
соответствующие строки. При отсутствии совпадений в качестве
значений второй таблицы проставляется значение NULL:
SELECT R.a1, R.a2, S.b1, S.b2
FROM R LEFT JOIN S ON R.a2=S.b1;
Пример 83. Соединить поле Familia из таблицы Teachers с
полем Name_Group из таблицы Groups:
SELECT Teachers.Familia, Groups.Name_Group FROM
Teachers
LEFT JOIN Groups ON Teachers.ID_Teacher=Groups.Kurator;
12.2.2. Внешнее правое соединение RIGHT JOIN
При внешнем правом соединении в результирующий набор
будут выбраны все строки из правой таблицы (указываемой вто-
рой). При совпадении значений по соединяемым (одноименным)
столбцам значения первой таблицы заносятся в результирующий
набор в соответствующие строки. При отсутствии совпадений в ка-
честве значений первой таблицы проставляется значение NULL:
SELECT R.a1, R.a2, S.b1, S.b2
FROM R RIGHT JOIN S ON R.a2=S.b1;
               12.2. Внешнее соединение
     При внешнем соединении в результирующую таблицу поме-
щаются не только парные строки, но и строки, не нашедшие себе
пару. По способу добавления непарных строк различают:
      левое открытое соединение, когда непарные строки добав-
ляются из таблицы, расположенной слева по отношению к опции
JOIN ;
      правое открытое соединение, когда непарные строки добав-
ляются из правой по отношению к JOIN таблицы;
      полное открытое соединение, когда добавляются все непар-
ные строки обеих соединяемых таблиц.

      12.2.1. Внешнее левое соединение LEFT JOIN
     При внешнем левом соединении в результирующий набор бу-
дут выбраны все строки из левой таблицы (указываемой первой).
При совпадении значений по соединяемым (одноименным) столб-
цам значения второй таблицы заносятся в результирующий набор в
соответствующие строки. При отсутствии совпадений в качестве
значений второй таблицы проставляется значение NULL:
     SELECT R.a1, R.a2, S.b1, S.b2
     FROM R LEFT JOIN S ON R.a2=S.b1;
     Пример 83. Соединить поле Familia из таблицы Teachers с
полем Name_Group из таблицы Groups:
     SELECT Teachers.Familia, Groups.Name_Group FROM
Teachers
     LEFT JOIN Groups ON Teachers.ID_Teacher=Groups.Kurator;

     12.2.2. Внешнее правое соединение RIGHT JOIN
     При внешнем правом соединении в результирующий набор
будут выбраны все строки из правой таблицы (указываемой вто-
рой). При совпадении значений по соединяемым (одноименным)
столбцам значения первой таблицы заносятся в результирующий
набор в соответствующие строки. При отсутствии совпадений в ка-
честве значений первой таблицы проставляется значение NULL:
     SELECT R.a1, R.a2, S.b1, S.b2
     FROM R RIGHT JOIN S ON R.a2=S.b1;

                             101