ВУЗ:
Составители:
Рубрика:
25
⇒ Работа с данными типа ДАТА: возвращение текущей даты, увели-
чение любой части даты на заданное число, определение количества дней в
заданном промежутке, возвращение символьного аналога месяца, дня недели
и некоторые другие.
⇒ Системные функции: возвращает имя таблицы или столбца, пер-
вый ненулевой элемент, ключ таблицы или БД, и многое другое.
Выборка
Для задания условия выборки в операторе SELECT используется клю-
чевое слово WHERE.
Синтаксис:
SELECT <ЦЕЛЕВОЙ СПИСОК> FROM <ТАБЛИЦА>
WHERE <БУЛЕВО ВЫРАЖЕНИЕ>
При формировании условия на горизонтальную проекцию <БУЛЕВО
ВЫРАЖЕНИЕ> строится из одного или более логических выражений, кото-
рые дают оценку TRUE или FALSE для каждой записи. В качестве операндов
могут использоваться имена полей, константы или параметры. В качестве ло-
гических операторов SQL поддерживает следующие:
⇒ сравнения (=, <> (!=), .>=, <=, !>, !<);
⇒ булевы (“AND”, “OR”, “NOT”);
⇒ (NOT) LIKE – используется для поиска подстроки в строке;
⇒ (NOT) IN – определяет, находится ли значение в наборе данных;
⇒ (NOT) BETWEEN [начало_интервала] AND [конец_интервала] –
используется для определения, попало ли значение в заданный диапазон;
⇒ IS (NOT) NULL – определяет наполненность поля (проверить при-
своено ли полю значение можно только этим оператором).
Выражение LIKE допускает следующие шаблоны и регулярные выра-
жения:
⇒ % (*) - любое количество символов, включая нулевое;
⇒ _ (?) – любой единичный символ;
⇒ [ ] – любой единичный символ из перечисленных в скобках (пере-
числение без пробелов и других разделителей, допустимо указание интерва-
ла, например, А-С = от А до С);
⇒ [^ ] – любой единичный символ из перечисленных в скобках не
должен содержаться в строке (перечисление без пробелов и других раздели-
телей, допустимо указание интервала).
Примеры использования LIKE:
LIKE ‘N%’ любая строка, начинающаяся символом N;
LIKE ‘%A%’ любая строка, содержащая А;
LIKE ‘___tion’ любое слово из семи букв, оканчивающееся
на tion;
LIKE ‘[cf]% любая строка, начинающаяся на c или f;
26
LIKE ‘[s-v]%ing’ любая строка, начинающаяся на буквы s, t,
u, v, и оканчивающаяся на ing;
LIKE ‘M[^f]%’ любая строка, начинающаяся на М, за кото-
рой не следует буква f.
Результат сравнения с полем, содержащим предикат NULL, обозна-
чающий, что значение не определено, дает всегда FALSE. Например, если
поле Оценка в некоторой записи имеет значение NULL, то результат любого
из сравнений
Оценка < 5; Оценка > 5; Оценка = 5
будет ложным. Более того, запись
Оценка = NULL (Оценка != NULL)
не корректна. Сравнение с NULL происходит при помощи специального опе-
ратора IS (NOT IS).
Запрос: Вывести итоги сдачи экзаменов на оценку ниже, чем 4.
Решение: SELECT * FROM УСПЕВАЕМОСТЬ WHERE Оценка<4
Запрос: Вывести результаты сданных экзаменов.
Решение:
SELECT * FROM УСПЕВАЕМОСТЬ WHERE Оценка BETWEEN 3 AND 5
Запрос: Вывести информацию о Иванове И.И. и Петровой П.П. (по-
скольку не уточняется номер Иванова И.И., то выведутся сведения обо всех,
имеющихся в БД Ивановых И.И.)
Решение:
SELECT * FROM СТУДЕНТ
WHERE СФам IN (‘Иванов И.И.’,‘Петрова П.П.’)
Запрос: Вывести результаты экзаменов по курсам «базы данных» и
«базы знаний».
Решение:
SELECT * FROM УСПЕВАЕМОСТЬ WHERE КУРС LIKE ‘%Баз%’
Запрос: Вывести информацию о студентах, не имеющих консультан-
тов.
Решение: SELECT * FROM СТУДЕНТ WHERE Консультант IS NULL
Сортировка строк
Полученный DYNASET можно отсортировать по одному или несколь-
ким ключам.
Синтаксис:
SELECT <целевой список> FROM <ТАБЛИЦА>
ORDER BY {<имя> | <номер столбца в целевом списке>} [ASC | DESC].
Параметр ASC обеспечивает сортировку по возрастанию, DESC – по
убыванию. Допускается сортировка по нескольким ключам, которые указы-
ваются через запятую. Ключи сортировки должны входить в целевой список
оператора SELECT.
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »