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



Последовательность логических операндов может комбинироваться.


Примеры

Разберем действие данных логических операндов на примерах:


Выбрать из таблицы AUTO машины (*) BMW синего цвета (COLOR).



Рисунок 18. Запрос на синие авто BMW


Выбрать из таблицы MAN имена (FIRSTNAME) и фамилии (LASTNAME) людей, которым больше 27 лет и меньше 41 года (YEAROLD).



Рисунок 19. Запрос к MAN, где возраст больше 27 и меньше 41


Выбрать из таблицы MAN имена и фамилии людей с именем (FIRSTNAME) Андрей, которым больше 27 лет (YEAROLD).



Рисунок 20. Запрос к таблице MAN: Андрей, возраст больше 27 лет


Выбрать из таблицы MAN имена (FIRSTNAME) и фамилии (LASTNAME) людей, которым не больше 27 лет (YEAROLD).



Рисунок 21. Запрос к таблице MAN: Андрей, возраст больше 27 лет


Выбрать из таблицы MAN имена (FIRSTNAME) и фамилии (LASTNAME) людей с именем Андрей или Алексей.



Рисунок 22. Запрос к таблице MAN: Андрей и Алексей


Выбрать из таблицы CITY города (*) с населением (PEOPLES) 400, 500 тысяч жителей.



Рисунок 23. Запрос: города с населением 300 и 400 тысяч


Выбрать из таблицы CITY города (*) с населением (PEOPLES) не 400, 500 тысяч жителей.



Рисунок 24. Запрос: города с населением не 300 и не 400 тысяч

Важные замечания

Несколько условий можно объединять скобками, например из таблицы MAN нам необходимо вывести те строки, где людям 25 или 28 лет с именем Иван. Это можно сделать с помощью следующего запроса:



Очень важно понимать отличие AND от OR, например выведите авто с марками LADA и BMW – в этом запросе необходимо использовать инструкцию OR и ни в коем случае не AND.


Вопросы учеников

Можно ли неравенство заменить на инструкцию NOT?

Да, в большинстве запросов можно так сделать.
Например, запросы


идентичны.

Как поменять несколько условий, перечисленных после WHERE в SQL-запросе, на обратные?

Вопрос не очень понятен, но предположим, у нас есть запрос, который возвращает все строки из таблицы AUTO с марками BMW и LADA.



Если необходимо посмотреть авто не BMW и LADA, то запрос обретет следующий вид:


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

1. Сколько строк вернет запрос?



2. Выберите из таблицы CITY (*) город, где 200 тысяч жителей (PEOPLES); город с наименованием Москва (CITYNAME).

3. Выберите из таблицы CITY города с населением (PEOPLES) не 500 тысяч жителей.

4. Выберите из таблицы AUTO (*) все синие AUDI (COLOR, MARK).

5. Выберите из таблицы AUTO номера (regnum) и марки (MARK) всех VOLVO и BMW.

6. Выберите из таблицы MAN имена, фамилии (FIRSTNAME, LASTNAME) и возраст людей (YEAROLD), которым больше 29 и меньше 35 лет.

Шаг 13. Сортировка результатов запросов

Введение

Данные, выводимые с помощью запроса SELECT, часто необходимо сортировать по одному или нескольким выводимым колонкам.

Для этого в языке SQL есть специальный оператор ORDER BY, который используется в команде SELECT и пишется в конце запроса. Для того чтобы изменить порядок сортировки на обратный, используется ключевое слово DESC.

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

ORDER BY используется для сортировки выводимых данных по заданным колонкам: от большего к меньшему, и наоборот.

Текстовые данные будут отсортированы от А до Я или же от Я до А – при использовании ключевого операнда DESC.

Числовые данные сортируются от меньшего числа к большему числу и от большего числа к меньшему при использовании ключевого операнда DESC.

Данные DATE также: от меньшей даты к большей, и наоборот.