ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 100
- 101
- 102
- 103
- 104
- …
- следующая ›
- последняя »
