Базы данных - модели, разработка, реализация


         

Запрос на объединение может объединять


Запрос на объединение может объединять любое число исходных запросов.

Так, к предыдущему запросу можно добавить еще читателей, которые держат на руках книгу "Замок":

  • UNION


  • SELECT READER. NAME_READER


  • FROM READER. EXEMPLARE.BOOKS


  • WHERE EXEMPLARE.NUM_READER= READER.NUM_READER AND


  • EXEMPLRE.ISBN - BOOKS.ISBN AND


  • BOOKS.TITLE - "Замок"


  • В том случае, когда вам необходимо сохранить все строки из исходных отношений, необходимо использовать ключевое слово ALL в операции объединения. В случае сохранения дубликатов кортежей схема выполнения запроса на объединение будет выглядеть следующим образом:

  • SELECT - запрос


  • UNION ALL


  • SELECT - запрос


  • UNION ALL


  • SELECT - запрос


  • Однако тот же результат можно получить простым изменением фразы WHERE первой части исходного запроса, соединив локальные условия логической операцией ИЛИ и исключив дубликаты кортежей.

  • SELECT DISTINCT READER.NAME_READER


  • FROM READER. EXEMPLARE.BOOKS


  • 94

  • WHERE EXEMPLARE.NUM_READER= READER.NUM_READER AND


  • EXEMPLRE.ISBN = BOOKS.ISBN AND


  • BOOKS.TITLE = "Идиот" OR


  • BOOKS.TITLE = "Преступление и наказание" OR


  • BOOKS.TITLE = "Замок"


  • Ни один из исходных запросов в операции UNION не должен содержать предложения упорядочения результата ORDER BY, однако результат объединения может быть упорядочен, для этого предложение ORDER BY с указанием списка столбцов упорядочения записывается после текста последнего исходного SELECT-запроса.

    95

    89 :: 90 :: 91 :: 92 :: 93 :: 94 :: 95 :: Содержание


    Содержание  Назад  Вперед