Размер шрифта
-
+

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


NOT усл – логическое отрицание, выбирает строки, если выражение полностью неверно.


AND OR и NOT – как указано выше, можно гармонично сочетать в запросе.


Синтаксис



Где TABLENAME – имя таблицы, а условие1…условиеn – различные условия (WHERE) в SQL-запросе.

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


Примеры

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


Выбрать из таблицы 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).

Страница 23