Оценить:
 Рейтинг: 0

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

Год написания книги
2019
<< 1 ... 11 12 13 14 15 16 17 18 19 ... 23 >>
На страницу:
15 из 23
Настройки чтения
Размер шрифта
Высота строк
Поля

Рисунок 10. Запрос к таблице CITY по заданному CITYCODE

Выберем все имена и фамилии из таблицы MAN:

Рисунок 11. Запрос двух колонок к таблице MAN

Все колонки (*) возраст больше 27 лет из таблицы MAN:

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

Из таблицы AUTO выберем номера автомобилей, выпущенных после 1 февраля 2005 года.

Рисунок 13. Запрос к таблице AUTO с ограничением по дате

Из таблицы AUTO выберем только зеленые автомобили.

Рисунок 14. Запрос к таблице AUTO, где цвет авто зеленый

Из таблицы MAN выберем только людей с именем Миша.

Рисунок 15. Запрос к таблице MAN: выбираем людей с именем Миша

Если осуществляется сравнение строковых данных, то есть тип данных в колонке сравнения VARCHAR, VARCHAR2, то строка сравнения заключается в одинарные кавычки.

Примеры

Выбрать из таблицы MAN все колонки (*), где имя Миша (равно Миша).

Рисунок 16. Запрос к MAN, где имя равно Миша

Выбрать из таблицы MAN все колонки (*), где имя не Олег (не равно Олег).

Рисунок 17. Запрос к MAN, где имя не равно Олег

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

Несмотря на то что в SQL можно сочетать большие и маленькие буквы, в выражении в одинарных кавычках, при отборе и фильтрации текстовых данных регистр должен соблюдаться, иначе запрос отработает некорректно.

Выражение DATE’YYYY-MM-DD» работает только в СУБД ORACLE, в MS SQL SERVER и POSTGREESQL работа с данными типа «дата» осуществляется по-другому (смотрите подробности документации к этим СУБД).

Следует учитывать, что в некоторых типах баз данных для неравенства можно использовать <> или знак!=, подобную информацию необходимо уточнять в документации к СУБД.

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

Какой способ написания команды SELECT наиболее часто используется?

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

Так все-таки какой смысл в этой звездочке вместо перечисления колонок?

SELECT * выведет информацию о всех колонках в заданной таблице, и это можно использовать, чтобы посмотреть, какие именно колонки присутствуют и как они называются.

Мы можем использовать форму записи с именем таблицы в фильтре WHERE?

Да, и вот пример. SELECT * FROM MAN WHERE MAN.FIRSTNAME= «Олег».

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

1. Чем отличаются разные формы записи SQL-запроса SELECT?
2. Выбрать из таблицы MAN (*) людей, где возраст (YEAROLD) человека больше 30 лет.
3. Выбрать из таблицы городов все колонки (*), где город (CITYNAME) называется Москва.
4. Выбрать названия (CITYNAME) городов CITY с населением (PEOPLES) больше миллиона человек.
5. Выбрать телефоны людей из MAN, чья фамилия (LASTNAME) не Денисов.
6. Выбрать информацию о машинах car (*) синего цвета (COLOR).

Шаг 12. Более сложные условия. Знакомимся с логикой выбора строк

Введение

Язык SQL позволяет задавать и более сложные фильтры отбора строк с помощью оператора WHERE. Для этого в языке SQL применяются логические операнды, позволяющие комбинировать несколько условий, создавать тем самым сложные логические выражения.

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

Итак, логические операнды позволяют объединять несколько условий, чтобы создать более сложные критерии выбора строк в операторе WHERE. Разберемся поподробнее, как это работает.

усл1 AND усл2 – логическое И, позволяет объединить несколько условных выражений, так что запрос вернет строку таблицы, если каждое из условий будет верным.

усл1 OR усл2 – логическое Или, позволяет выбрать строки, если одно из заданных условий верно.

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

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

Синтаксис

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

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

Примеры

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

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

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

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

<< 1 ... 11 12 13 14 15 16 17 18 19 ... 23 >>
На страницу:
15 из 23