ВУЗ:
Составители:
Рубрика:
– 106 –
Из приведенного результата видно, что в результирующую таблицу не вошли
записи из таблицы
offisy об офисе, расположенном в г. Омск, для которого еще не
набраны служащие, и таблицы
sluzhaschie об Уткине Денисе, который еще не по-
лучил назначение ни в один офис. Таким образом, если в таблицах объединения
содержатся несвязанные (непарные) строки, то стандартный
SQL приведет к потере
информации.
Если мы хотим вывести сведения обо всех офисах, независимо от того, на-
браны в него служащие или еще нет, то правильный результат можно получить,
выполнив запрос, приведенный ниже:
SELECT*
FROMzakazy.offisyo
LEFTJOINzakazy.sluzhaschiesono.id_ofc=s.id_ofc
Запрос, приведенный в этом примере, называется внешним (в данном случае
левым) объединением таблиц. Результат выполнения запроса показан на Рис. 4.5. .
Как видно из приведенного примера, внешнее объединение может сохранить
записи, для которых не находится соответствия в других наборах. При этом не-
достающие поля заполняются значениями
NULL.
Правила выполнения внешних объединений
Можно привести следующее правило построения внешнего объединения.
1. Создать внутреннее объединение двух таблиц обычным способом.
2. Каждую строку первой таблицы, не имеющую связи ни с одной строкой
второй таблицы, добавить в результаты запроса, присваивая столбцам второй
таблицы значение
NULL.
Рис. 4.4. Результат выполнения запроса внутреннего объединения
Страницы
- « первая
- ‹ предыдущая
- …
- 104
- 105
- 106
- 107
- 108
- …
- следующая ›
- последняя »
