SQL оператор SELECT

В этом учебном материале по SQL вы узнаете, как использовать оператор SELECT с синтаксисом и примерами.

Описание

SQL оператор SELECT используется для извлечения записей из одной или нескольких таблиц или представлений в базе данных SQL. Полученные записи известны как набор результатов.

Синтаксис

Синтаксис для оператора SELECT в SQL.

SELECT expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];

Параметры или аргумент

expressions
Столбцы или расчеты, которые вы хотите получить. Используйте *, если вы хотите выбрать все столбцы
tables
Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны. Если не предусмотрено никаких условий, будут выбраны все записи
ORDER BY expression
Необязательный. Выражение, используемое для сортировки записей в наборе результатов. Если указано более одного выражения, значения должны быть разделены запятыми
ASC
Необязательный. ASC сортирует результирующий набор в порядке возрастания по expressions. Это поведение по умолчанию, если модификатор не указан
DESC
Необязательный. DESC сортирует результирующий набор в порядке убывания по expressions

Пример - выбрать все поля из таблицы

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

customer_id first_name last_name favorite_website
4000 Justin Bieber google.com
5000 Selena Gomez bing.com
6000  Mila Kunis yahoo.com
7000 Tom Cruise oracle.com
8000 Johnny Depp NULL
9000 Russell Crowe google.com

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

Будет выбрано 2 записи. Вот результаты, которые вы должны получить.

customer_id first_name last_name favorite_website
4000 Justin Bieber google.com
9000 Russell Crowe google.com

В этом примере мы использовали *, чтобы показать, что мы хотим просмотреть все поля из таблицы customers, где favorite_website - 'google.com'. Набор результатов сортируется по last_name в порядке возрастания.

Пример - выбор отдельных полей из таблиц

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

supplier_id supplier_name city state
100 Yandex Moscow Russian
200 Google Lansing Michigan
300 Oracle Redwood City California
400 Bing Redmond Washington
500 Yahoo Sunnyvale Washington
600 DuckDuckGo Paoli Pennsylvania
700 Qwant Paris France
800 Facebook Menlo Park California
900 Electronic Arts San Francisco California

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

4 записи должны быть выбраны. Вот результаты, которые вы должны получить.

supplier_name city
DuckDuckGo Paoli
Electronic Arts San Francisco
Facebook Menlo Park
Qwant Paris

В этом примере возвращаются только поля supplier_name и city из таблицы supplier, где значение supplier_id больше, чем 500. Результаты сортируются по supplier_name в порядке возрастания, а затем по полю city в порядке убывания.

Пример - выбор отдельных полей из нескольких табли

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

order_id customer_id order_date
1 7000 2019/06/18
2 5000 2019/06/18
3 8000 2019/06/19
4 4000 2019/06/20
5 NULL 2019/07/01

И таблица с именем customers со следующими данными:

customer_id first_name last_name favorite_website
4000 Justin Bieber google.com
5000 Selena Gomez bing.com
6000  Mila Kunis yahoo.com
7000 Tom Cruise oracle.com
8000 Johnny Depp NULL
9000 Russell Crowe google.com

Теперь давайте выберем столбцы из таблиц orders и customer. Введите следующий запрос SELECT.

Будет выбрано 3 записи. Вот результаты, которые вы должны получить.

order_id last_name
2 Gomez
3 Depp
4 Bieber

Этот пример SELECT объединяет две таблицы, чтобы дать нам набор результатов, который отображает order_id из таблицы orders и last_name из таблицы customers. Каждый раз, когда мы используем столбец в операторе SELECT, мы добавляем к столбцу имя таблицы (например, orders.order_id) в случае, если есть какая-то двусмысленность относительно того, какой столбец к какой таблице принадлежит.

Если вы хотите выбрать все поля из таблицы orders, а затем поле last_name из таблицы клиентов, Введите следующий запрос SELECT.

Будет выбрано 3 записи. Вот результаты, которые вы должны получить.

order_id customer_id order_date last_name
2 5000 2019/06/18 Gomez
3 8000 2019/06/19 Depp
4 4000 2019/06/20 Bieber

В этом примере мы используем orders.*, чтобы показать, что мы хотим выбрать все поля из таблицы orders, а затем мы выбираем поле last_name из таблицы customers.