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



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

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

Начнем с самого легкого запроса, рассмотрим синтаксис самого простого оператора SELECT:

SELECT * FROM TABLE_NAME

Здесь TABLE_NAME – имя таблицы, из которой мы запрашиваем данные.

Символ * означает, что мы выводим на экран данные из всех колонок.

Откройте тестовую среду и выполните запрос

SELECT * FROM CITY;


Рисунок 7. Запрос из таблицы CITY


На экран выведены названия колонок в первой строке, а также данные в каждой колонке из таблицы CITY.


А теперь другой вариант синтаксиса такого же простого запроса SQL:

SELECT column_NAME1, column_NAME1, column_NAMEn FROM TABLE_NAME

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


Пример (выполните в нашей тестовой среде):

SELECT CITYCODE, CITYNAME FROM CITY;


Рисунок 8. Запрос к таблице CITY по колонкам CITYCODE, CITYNAME


Результат запроса – на экран выведены только те две колонки, которые мы указали после оператора SELECT.


Существует и другой вариант синтаксиса для SQL-запросов:

SELECT TABLE_NAME.* FROM TABLE_NAME

или

SELECT TABLE_NAME. column_NAME1, TABLE_NAME. column_NAME1, TABLE_NAME. column_NAMEn FROM TABLE_NAME

Прорешаем задания, которые мы уже выполнили, с использованием такого синтаксиса:

SELECT CITY.* FROM CITY

При выполнении этого запроса SELECT получается результат, совершенно аналогичный тому, что и в примерах выше.

Небольшой лайфхак.


Как я составляю запросы? Сначала пишу SELECT *, затем FROM, имя таблицы, выполняю запрос, а уже после перечисляю колонки, которые необходимо вывести на экран, и далее выполняю запрос повторно.

Фильтр строк WHERE в запросе SELECT


Итак, мы научились выводить на экран все данные из заданной таблицы, но как же поступить, если нам необходимо вывести на экран только избранные строки? Допустим, что в заданной таблице миллион строк, а нам необходимо посмотреть из них лишь 10.


К счастью, язык SQL позволяет это сделать. Для этого в языке SQL и в частности в команде SELECT предусмотрен специальный оператор – WHERE.

Рассмотрим синтаксис команды SELECT с оператором WHERE:

SELECT * или перечень колонок FROM TABLE_NAME WHERE условие отбора строк

Примеры:

Выберем названия городов, где население 300 000 человек.

SELECT * FROM CITY WHERE PEOPLES = 300000

Альтернативная форма записи:

SELECT CITY.* FROM CITY WHERE CITY.PEOPLES = 300000

Выражение в WHERE формируется с помощью математических операндов сравнения, рассмотрим этот момент подробнее.


Операнды сравнения

>  больше
<меньше
= строгое равенство
или неравенство! =

Примеры


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

SELECT * FROM CITY WHERE PEOPLES> 300000


Рисунок 9. Запрос таблице CITY с условием


Выберем название города с кодом города, равным 2, из CIty



Альтернативная форма записи:



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


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



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


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



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


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