Левое внешнее объединение таблиц записывается в команде WHERЕ в виде =*.
Пример 1. Вывести информацию о студентах и о сданных учебных предметах, при этом данные о предметах выбираются для студентов, имеющих номер меньше, чем текущий.
Результат запрос:
SFAM SNUM PNUM SNUM
-------------------------------------------------------------------------------
Поляков 3412 NULL NULL
Старова 3413 2001 3412
Старова 3413 2003 3412
Гриценко 3414 2001 3412
Гриценко 3414 2003 3412
Гриценко 3414 2003 3413
. . .
Результат этого запроса приведён не полностью, так как его размеры значительно велики.
Структура ON.
Данная структура была введена в стандарте SQL2. Посредством операции JOIN в предложении FROM можно соединить несколько таблиц. Условие поиска описывается за ключевым словом ON, c использованием булевских операторов.
Например, запрос, который в SQL1 выглядит так:
SELECT STUDENTS. SFAM, STUDENTS. SNUM ,
USP.PNUM, USP.SNUM
FROM STUDENTS, USP
WHERE STUDENTS.SNUM =USP.SNUM;
В SQL2 будет иметь вид:
SELECT STUDENTS. SFAM, STUDENTS. SNUM ,
USP.PNUM, USP.SNUM
FROM STUDENTS INNER JOIN USP
ON STUDENTS.SNUM = USP. SNUM;
Приведем пример полного внешнего объединения:
SELECT STUDENTS. SFAM, STUDENTS. SNUM ,
USP.PNUM, USP.SNUM
FROM STUDENTS FULL OUTER JOIN USP
ON STUDENTS.SNUM = USP. SNUM;
Результат запроса:
SFAM SNUM PNUM SNUM
------------------------------------------------------------------------
Поляков 3412 2001 3412
Поляков 3412 2003 3412
Старова 3413 2003 3413
Гриценко 3414 2005 3414
Котенко 3415 NULL NULL
Нагорный 3416 2004 3416
Вложенные запросы.