Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - страница 21
Обратите внимание, как формируется условие для при обращении к колонке типа DATE.
Важные замечания
Псевдонимы не могут повторяться в рамках одного запроса и подзапроса, то есть их имена должны быть уникальными.
Если мы задали псевдоним для таблицы, из которой SQL-запрос выбирает данные, то и в условии WHERE мы также должны использовать заданный псевдоним.
Вопросы учеников
Если мы используем псевдоним для таблицы и псевдонимы для колонок, должны ли мы обращаться к колонкам в инструкции WHERE по псевдонимам колонок?
Как ни странно, так делать нельзя. Вы должны указать именно настоящее имя колонки в этом случае.
Можно ли нескольким выводимым колонкам запроса SQL задать псевдоним, а другим не задавать?
Конечно; вот пример такого запроса:
Контрольные вопросы и задания для самостоятельного выполнения
1. Найдите ошибку в следующем запросе:
2. Найдите ошибку в еще одном запросе:
3. Выведите с помощью запроса SQL наименование города из таблицы CITY. Для таблицы задайте псевдоним GR, для колонки «наименования» задайте псевдоним NM.
4. Выведите количество жителей в городе Москва, для колонки PEOPLES задайте псевдоним CLZ, для таблицы задать псевдоним MS.
Шаг 19. BETWEEN
Введение
В языке SQL есть специальная конструкция, которая позволяет работать с интервалами – своего рода фильтр, позволяющий выбирать данные, соответствующие заданному интервалу значений. Этот оператор называется BETWEEN и может использоваться как в выборке SELECT, так и в операциях модификации и удаления данных (UPDATE, DELETE).
Теория и практика
Рассмотрим применение BETWEEN в команде SELECT.
Синтаксис:
Примеры
Выбираем из таблицы MAN (*) всех людей, чей возраст (YEAROLD) от 25 до 32 лет.
Рисунок 33. Запрос к MAN: возраст от 25 до 32
Выбираем города CITY * с населением (PEOPLES) от 300 000 до 1 000 000.
Рисунок 34. Запрос к таблице CITY: население от 300 000 до 1 000 000
Выбираем людей * с именем Андрей (FIRSTNAME) и возрастом (YEAROLD) от 25 до 28 лет.
Рисунок 35. Запрос к таблице MAN: население от 25 до 28 лет, имя Андрей
Выбираем людей * с возрастом не в интервале от 25 до 28 лет.
Выбрать машины * с годом выпуска (RELEASEDT) от 2001 до 2014.
Рисунок 36. Запрос всех записей из AUTO
Важные замечания
Следует отметить, что использование BETWEEN разумно только для данных числовых типов и для данных типа DATE, что естественно, так как мы можем найти числа в заданном интервале и даты в заданном интервале, а вот со строкам и текстом это сделать затруднительно.
Также важное замечание: обратите внимание, что BETWEEN позволяет выбрать данные, принадлежащие и равные нижней и верхней границам заданного интервала.
Вопросы учеников
Оператор BETWEEN на что-то похож, можно ли обойтись без него?
Оператор BETWEEN создан для удобства, и, разумеется, его можно заменить несколькими логическими выражениям, и вот пример.
Пример:
Выбираем города CITY * с населением (PEOPLES) от 300 000 до 1 000 000.
Можно ли в запросе использовать несколько BETWEEN, объединенных логическими операндами?
Да, разумеется, такой запрос можно написать. Выберем из таблицы MAN людей с возрастом в интервалах от 20 до 30 и от 35 до 39 лет.
Вы говорили, что BETWEEN также можно использовать и в операторах модификации данных?
Да, как и все другие операторы, используемые для выбора строк в WHERE.
Примеры
Обновим дату создания авто на 01.01.2014 для автомобилей с датой создания в интервале от 01.01.2011 до 01.01.2014.