sql. Использование спецификатора WHERE для задания условия сравнения | MetodPro.ru

Реклама на сайте

sql. Использование спецификатора WHERE для задания условия сравнения


SQL  — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

Операторы SQL делятся на:

  • операторы определения данных (DataDefinitionLanguage, DDL)
  • операторы манипуляции данными (DataManipulationLanguage, DML)
  • операторы определения доступа к данным (DataControlLanguage, DCL)
  • операторы управления транзакциями (TransactionControlLanguage, TCL)

Использование спецификатора WHERE для задания условия сравнения

=  равно <> или != не равно <  меньше <=  не больше >= не меньше ISNULL является неопределенным значением ISNOTNULL значение, которое не является неопределенным AND логическая операция “И” OR логическая операция “ИЛИ” NOTлогическая операция “отрицание” LIKE подобно NOTLIKE не подобно BETWEEN не находится между IN включено в множество NOTIN не включено в множество EXISTS существует NOTEXISTS не существует

В некоторых случаях в языке SQL логическое выражение может принимать одно из трех значений: TRUE, FALSE, UNKNOWN.

 

SELECT * FROM suppliers
WHERE supplier_name LIKE 'H%!%' escape '!';

В данном случае % будет именно % J

 

Примеры.

            Пусть отношение “Книги” имеет следующие атрибуты: Номер_книги, Название, Автор, Жанр, Издательство. Проиллюстрируем использование спецификатора WHERE на примере следующих запросов:

  1. Выбрать книги (номера, названия), автором которых является Пушкин А.С.

SELECTНомер_книги, НазваниеFROMКниги

WHEREАвтор = “Пушкин A.C.”

или

SELECTНомер_книги, НазваниеFROMКниги

WHEREАвторLIKE“Пушкин A.C.”

  1. Выбрать книги (номера, авторов и названия), которые были выпущены различными издательствами, за исключением издательства «Правда».

SELECTНомер_книги, Название, АвторFROMКниги

WHEREИздательство <> “Правда”

или

SELECTНомер_книги, Название, АвторFROMКниги

WHEREИздательство NOTLIKE “Правда”

  1. Выбрать книги (названия и авторов) с номерами от 1900 до 2000 включительно.

SELECTНазвание, АвторFROMКниги

WHEREНомер_книгиBETWEEN 1900 AND 2000

или

SELECTНазвание, АвторFROMКниги

WHEREНомер_книги>=1900 ANDНомер_книги<=2000

  1. Выбрать книги (названия и авторов) с номерами, не входящими в диапазон от 1900 до 2000.

SELECT Название, Автор FROM Книги

WHERE Номер_книгиNOTBETWEEN 1900 AND 2000

  1. Выбрать книги (номера, названия и авторов), написанных в жанре детектива или фантастики и выпущенных издательством «Правда».

SELECTНомер_книги, Название, АвторFROMКниги

WHERE (Жанр IN (”Детектив”, ”Фантастика”))

                        AND(Издательство=”Правда”)

или

SELECTНомер_книги, Название, АвторFROMКниги

WHERE (Жанр=”Детектив” OR Жанр=”Фантастика”)

                        AND(Издательство=”Правда”)

  1. Выбрать книги (номера, названия и авторов), выпущенных издательством «Правда» и написанных не в жанре детектива или фантастики.

SELECTНомер_книги, Название, АвторFROMКниги

WHERE (Жанр NOTIN (”Детектив”, ”Фантастика”))       

                        AND(Издательство=”Правда”)

или

SELECTНомер_книги, Название, АвторFROMКниги

WHERE (Жанр<>”Детектив” AND Жанр<>”Фантастика”)

                        AND(Издательство=”Правда”)

  1. Выбрать книги (названия и авторов), жанр которых не определен.

SELECTНазвание, АвторFROMКниги

WHEREЖанр ISNULL

  1. Выбрать книги (названия и авторов), имеющих определенный жанр.

SELECT Название, Автор FROM Книги

WHERE ЖанрIS NOT NULL

  1. Выбрать издательства, которые печатают книги авторов, имеющих в составе фамилии последовательность символов “ушки”, а первый и последний символ могут быть любыми.

SELECTИздательствоFROMКниги

WHEREАвтор LIKE “_ушки_”

или

SELECTИздательствоFROMКниги

WHEREАвтор MATCHES “?ушки?”

  1. Выбрать издательства, наименования которых начинаются с символов «Пр».

SELECTИздательствоFROMКниги

WHEREИздательство LIKE “Пр%”

или

SELECTИздательствоFROMКниги

WHEREИздательство[1,2] = “Пр”

  1. Выбрать книги (всю информацию – номер, название, автора, жанр, издательство), названия которых заканчиваются вопросительным знаком.

SELECT * FROM Книги

WHERE Название MATCHES “*^?”ESCAPE “^”



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем