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_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
5000SelenaGomezbing.com
6000 MilaKunisyahoo.com
7000TomCruiseoracle.com
8000JohnnyDeppNULL
9000RussellCrowegoogle.com

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

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

customer_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
9000RussellCrowegoogle.com

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

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

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

supplier_idsupplier_namecitystate
100YandexMoscowRussian
200GoogleLansingMichigan
300OracleRedwood CityCalifornia
400BingRedmondWashington
500YahooSunnyvaleWashington
600DuckDuckGoPaoliPennsylvania
700QwantParisFrance
800FacebookMenlo ParkCalifornia
900Electronic ArtsSan FranciscoCalifornia

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

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

supplier_namecity
DuckDuckGoPaoli
Electronic ArtsSan Francisco
FacebookMenlo Park
QwantParis

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

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

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

order_idcustomer_idorder_date
170002019/06/18
250002019/06/18
380002019/06/19
440002019/06/20
5NULL2019/07/01

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

customer_idfirst_namelast_namefavorite_website
4000JustinBiebergoogle.com
5000SelenaGomezbing.com
6000 MilaKunisyahoo.com
7000TomCruiseoracle.com
8000JohnnyDeppNULL
9000RussellCrowegoogle.com

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

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

order_idlast_name
2Gomez
3Depp
4Bieber

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

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

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

order_idcustomer_idorder_datelast_name
250002019/06/18Gomez
380002019/06/19Depp
440002019/06/20Bieber

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