Многотабличные запросы

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

Пример 1. Получить список всех студентов и преподавателей, фамилии которых заключены между буквами К и С.

SELECT SFAM, SIMA, SOTCH

FROM STUDENTS

WHERE SFAM BETWEEN’K’ AND ‘C’

UNION

SELECT TFAM, TIMA, TOTCH

FROM TEACHERS

WHERE TFAM BETWEEN ‘K’AND ‘C’;

Результат запроса:

--------------------------------------------------------------------------------

Казанко Виталий Владимирович

Костыркин Олег Владимирович

Позднякова Любовь Алексеевна

Котенко Анатолий Николаевич

Нагорный Евгений Васильевич

Поляков Анатолий Алексеевич

В этом случае заголовки столбцов исключаются. Существуют правила объединения запросов:

- число включаемых столбцов должно совпадать в каждом из объединяющихся запросов;

- в объединяемых столбцах типы данных должны быть совместимыми;

- пустые значения NULL запрещены в любом столбце объединения;

- нельзя использовать агрегатные функции;

- UNION автоматически исключает дубликаты строк из вывода;

- при объединении более двух запросов используются скобки, причем объединение сначала осуществляется внутри скобок;

- можно вставлять константы и выражения.

Пример 2. Получить список фамилий всех студентов и преподавателей, указывая кем он является.

SELECT ‘ Студент ‘SFAM

FROM STUDENTS

UNION

SELECT ‘ Преподаватель’ TFAM

FROM TEACHERS;

Результат запроса:

-------------------------------------------------------------------

Студент Поляков

Студент Старова

Студент Гриценко

Студент Котенко

Студент Нагорный

Преподаватель Викулина

Преподаватель Костыркин

Преподаватель Казанко

Преподаватель Позднякова

Преподаватель Загарийчук

Пример 3. Упорядочить последний запрос по алфавиту.

SELECT ‘ Студент ‘ SFAM

FROM STUDENTS

UNION

SELECT ‘ Преподаватель’ TFAM

FROM TEACHERS

ORDER BY 2 ASC;

Результат запроса:

--------------------------------------------------------

Преподаватель Викулина

Студент Гриценко

Преподаватель Загарийчук

Преподаватель Казанко

Преподаватель Костыркин

Студент Котенко

Студент Нагорный

Преподаватель Позднякова

Студент Поляков


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: