Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики. Максим Михайлович Чалышев

Читать онлайн книгу.

Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - Максим Михайлович Чалышев


Скачать книгу
* с именем Андрей (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.

      Не будем использовать BEETWEEN.

      Можно ли в запросе использовать несколько BETWEEN, объединенных логическими операндами?

      Да, разумеется, такой запрос можно написать. Выберем из таблицы MAN людей с возрастом в интервалах от 20 до 30 и от 35 до 39 лет.

      Вы говорили, что BETWEEN также можно использовать и в операторах модификации данных?

      Да, как и все другие операторы, используемые для выбора строк в WHERE.

      Примеры

      Обновим дату создания авто на 01.01.2014 для автомобилей с датой создания в интервале от 01.01.2011 до 01.01.2014.

      DELETE MAN WHERE YEAROLD BETWEEN 7 AND 16

      Удаление всей информации о людях, которым от 7 до 16 лет. Обратите внимание: возраст 7 и 16 входит в заданный интервал и эта информация также будет удалена.

      Контрольные вопросы и задания для самостоятельного выполнения

      1. Как можно заменить оператор BETWEEN и обойтись без него, чтобы запрос возвращал правильные данные?

      2. Выберите города с населением от 40 000 до 2 000 000 человек, напишите SQL-запрос.

      3. Выберите города с населением НЕ в интервале 40 000 до 2 000 000 человек, напишите SQL-запрос.

      4. Выберите людей * с возрастом НЕ в интервале 25 до 28 лет, используйте NOT, напишите SQL-запрос.

      5. Выберите машины с годом выпуска от 2007 до 2011, напишите SQL-запрос.

      Шаг 20. DISTINCT, дубликаты значений

      Введение

      В определенных запросах SQL как неприятный побочный результат выводится множество одинаковых, повторяющихся записей. Иногда нам необходимо уйти от данных повторений, убрать дубли из результатов запроса.

      Теория и практика

      В SQL существует специальная команда DISTINCT, которая предназначена для выбора в запросе только уникальных значений, уникальных строк, то есть исключает из вывода повторения


Скачать книгу