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

UptoLike

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

97
Пример 79. Для получения в одной таблице ФИО студента,
название дисциплины и оценку за 6 семестр, а также дисциплины,
по которым оценка «отлично», необходимо использовать следую-
щий запрос:
SELECT Fio AS ИО', Nazvanie AS 'Дисциплина', Examen
AS 'Оценка'
FROM Students, Progress, Lessons
WHERE Students.ID_Student=Progress.ID_Student AND
Lessons.ID_Lesson=Progress.ID_Lesson AND
Semestr=6
UNION
SELECT Fio, Nazvanie, Examen
FROM Students, Progress, Lessons
WHERE Students.ID_Student=Progress.ID_Student AND
Lessons.ID_Lesson=Progress.ID_Lesson AND
Examen=5;
Результат выполнения запроса приведен на рис. 41.
Рис. 41. Объединения результатов двух команд SELECT
Использование команды UNION возможно только при объе-
динении запросов, соответствующие столбцы которых совместимы
по объединению, т.е.:
соответствующие числовые поля должны иметь полностью
совпадающие тип и размер;
символьные поля должны иметь точно совпадающее количе-
ство символов;
если NULL-значения запрещены для столбца хотя бы одного
любого подзапроса объединения, то они должны быть запрещены и
для всех соответствующих столбцов в других подзапросах объеди-
нения.
     Пример 79. Для получения в одной таблице ФИО студента,
название дисциплины и оценку за 6 семестр, а также дисциплины,
по которым оценка «отлично», необходимо использовать следую-
щий запрос:
     SELECT Fio AS 'ФИО', Nazvanie AS 'Дисциплина', Examen
AS 'Оценка'
     FROM Students, Progress, Lessons
     WHERE Students.ID_Student=Progress.ID_Student AND
          Lessons.ID_Lesson=Progress.ID_Lesson AND
          Semestr=6
     UNION
     SELECT Fio, Nazvanie, Examen
     FROM Students, Progress, Lessons
     WHERE Students.ID_Student=Progress.ID_Student AND
          Lessons.ID_Lesson=Progress.ID_Lesson AND
          Examen=5;
     Результат выполнения запроса приведен на рис. 41.




       Рис. 41. Объединения результатов двух команд SELECT

     Использование команды UNION возможно только при объе-
динении запросов, соответствующие столбцы которых совместимы
по объединению, т.е.:
      соответствующие числовые поля должны иметь полностью
совпадающие тип и размер;
      символьные поля должны иметь точно совпадающее количе-
ство символов;
      если NULL-значения запрещены для столбца хотя бы одного
любого подзапроса объединения, то они должны быть запрещены и
для всех соответствующих столбцов в других подзапросах объеди-
нения.


                               97