Оператор SQL SELECT: примеры, синтаксис

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

Оператор SQL SELECT имеет следующий синтаксис:

SELECT column_list
FROM table_name
[WHERE сondition
GROUP BY expression
HAVING condition
ORDER BY expression]

Необязательные операторы обрамлены квадратными скобками [].

В параметре column_list указываются названия столбцов таблицы, которые необходимо вывести, либо символ “*”, позволяющий вывести все столбцы таблицы. Ключевым словом FROM задается название таблицы или таблиц, из которых следует брать столбцы. Оператор SQL WHERE задает дополнительные условия выборки. Оператор SQL GROUP BY используют для группирования результата по столбцу или по нескольким столбцам.

Оператор SQL HAVING включают в запрос для задания условия агрегатных функций. Наконец, оператор SQL ORDER BY используется для сортировки значений.


Примеры оператора SQL SELECT. Имеется следующая таблица Planets:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRings
Opener
1Mars33966871659NoChristiaan Huygens
2Saturn6026810759.22Yes
3Neptune24764601901846YesJohn Couch Adams
4Mercury2439115. 881631NoNicolaus Copernicus
5Venus60512431610No
Galileo Galilei

Пример 1. С помощью оператора SQL SELECT вывести названия планет (Name):

SELECT PlanetName FROM Planets

Результат:

PlanetName
Mars
Saturn
Neptune
Mercury
Venus

Пример 2. С помощью оператора SQL SELECT вывести названия планет, у которых есть кольца (HavingRings):

SELECT PlanetName FROM Planet WHERE HavingRings = 'Yes'

Результат:

PlanetName
Saturn
Neptune

Пример 3.  С помощью оператора SQL SELECT вывести информацию о планете Нептун:

SELECT * FROM Planets WHERE PlanetName = 'Neptune'

Результат:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRings
Opener
3Neptune24764601901846YesJohn Couch Adams

SELECT TOP, LIMIT, ROWNUM — Учебник SQL — Schoolsw3.com


❮ Назад Далее ❯


TOP

Инструкция SELECT TOP используется для указания количества возвращаемых записей.

Инструкция SELECT TOP полезно для больших таблиц с тысячами записей. Возврат большого количества записей может повлиять на производительность.

Примечание: Не все базы данных поддерживают SELECT TOP. MySQL поддерживает предложение LIMIT для выбора ограниченного числа записей, в то время как Oracle использует ROWNUM.

Синтаксис SQL Server / MS Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Синтаксис MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Синтаксис Oracle:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;


Демо база данных

Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:

CustomerIDCustomerName
ContactName
AddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden


Примеры SQL TOP, LIMIT и ROWNUM

Следующая инструкция SQL выбирает первые три записи из таблицы «Customers»:

Пример

SELECT TOP 3 * FROM Customers;

Попробуйте сами »

Следующий оператор SQL показывает эквивалентный пример использования предложения LIMIT:

Пример

SELECT * FROM Customers
LIMIT 3;

Попробуйте сами »

Следующая инструкция SQL показывает соответствующий пример использования параметра ROWNUM:

Пример

SELECT * FROM Customers

WHERE ROWNUM <= 3;


Пример SQL TOP PERCENT

Следующая инструкция SQL выбирает первые 50% записей из таблицы «Customers»:

Пример

SELECT TOP 50 PERCENT * FROM Customers;

Попробуйте сами »


Добавить WHERE

Следующая инструкция SQL выбирает первые три записи из таблицы «Customers», где страна — «Germany»:

Пример

SELECT TOP 3 * FROM Customers
WHERE Country=’Germany’;

Попробуйте сами »

Следующий оператор SQL показывает эквивалентный пример использования LIMIT:

Пример

SELECT * FROM Customers
WHERE Country=’Germany’
LIMIT 3;

Попробуйте сами »

Следующая инструкция SQL показывает соответствующий пример использования параметра ROWNUM:

Пример

SELECT * FROM Customers
WHERE Country=’Germany’ AND ROWNUM <= 3;

❮ Назад Далее ❯

SQL: Оператор SELECT


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

Описание

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

Подписаться

Синтаксис

Синтаксис оператора SELECT в SQL:

 Выражения SELECT
ИЗ столов
[ГДЕ условия]
[ORDER BY выражение [ ASC | ДЕСК ]]; 

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

выражения
Столбцы или вычисления, которые вы хотите получить. Используйте *, если вы хотите выбрать все столбцы.
таблицы
Таблицы, из которых вы хотите извлечь записи. В предложении FROM должна быть хотя бы одна таблица.
ГДЕ условия
Дополнительно. Условия, которые должны быть соблюдены для выбора записей. Если условия не указаны, то будут выбраны все записи.
ЗАКАЗАТЬ по выражению
Дополнительно. Выражение, используемое для сортировки записей в результирующем наборе. Если указано более одного выражения, значения должны быть разделены запятыми.
АСЦ
Дополнительно. ASC сортирует результирующий набор в порядке возрастания по выражению . Это поведение по умолчанию, если нет модификатора provider.
DESC
Дополнительно. DESC сортирует результирующий набор в порядке убывания по
выражению
.

DDL/DML для примеров

Если вы хотите следовать этому руководству, получите DDL для создания таблиц и DML для заполнения данных. Тогда попробуйте примеры в своей собственной базе данных!

Получить DDL/DML

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

Давайте рассмотрим пример, который показывает, как использовать оператор SQL SELECT для выбора всех полей из таблицы.

В этом примере у нас есть таблица с именем клиентов со следующими данными:

идентификатор_клиента фамилия имя_имя любимый_веб-сайт
4000 Джексон Джо techonthenet.
com
5000 Смит Джейн digminecraft.com
6000 Фергюсон Саманта bigactivities.com
7000 Рейнольдс Аллен checkyoumath.com
8000 Андерсон Пейдж НУЛЕВОЙ
9000 Джонсон Дерек techonthenet.com

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

Попробуйте

 SELECT *
ОТ клиентов
ГДЕ Favorite_website = 'techonthenet.com'
ЗАКАЗАТЬ ПО фамилии ASC; 

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

customer_id фамилия имя_имя любимый_веб-сайт
4000 Джексон Джо techonthenet. com
9000 Джонсон Дерек techonthenet.com

В этом примере мы использовали * для обозначения того, что мы хотим просмотреть все поля из таблицы клиентов , где любимый_веб-сайт — это «techonthenet.com». Набор результатов отсортирован по last_name в порядке возрастания.

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

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

В этом примере у нас есть таблица с именем поставщиков со следующими данными:

supplier_id имя_поставщика город состояние
100 Майкрософт Редмонд Вашингтон
200 Гугл Маунтин-Вью Калифорния
300 Оракул Редвуд Сити Калифорния
400 Кимберли-Кларк Ирвинг Техас
500 Тайсон Фудс Спрингдейл Арканзас
600 СК Джонсон Расин Висконсин
700 Доул Фуд Компани Вестлейк Виллидж Калифорния
800 Цветочная еда Томасвилл Грузия
900 Электронное искусство Редвуд Сити Калифорния

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

Попробуйте

 SELECT supplier_name, city
ОТ поставщиков
ГДЕ supplier_id > 500
ЗАКАЗАТЬ ПО provider_name ASC, город DESC; 

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

supplier_name город
Доул Фуд Компани Вестлейк Виллидж
Электронное искусство Редвуд Сити
Цветочные продукты Томасвилл
СК Джонсон Расин

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

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

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

В этом примере у нас есть таблица с именем orders со следующими данными:

order_id идентификатор_клиента дата_заказа
1 7000 18.04.2016
2 5000 18.04.2016
3 8000 19.04.2016
4 4000 20.04.2016
5 НУЛЕВОЙ 01.05.2016

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

customer_id фамилия имя_имя любимый_веб-сайт
4000 Джексон Джо techonthenet. com
5000 Смит Джейн digminecraft.com
6000 Фергюсон Саманта bigactivities.com
7000 Рейнольдс Аллен checkyoumath.com
8000 Андерсон Пейдж НУЛЕВОЙ
9000 Джонсон Дерек techonthenet.com

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

Попробуйте

 SELECT orders.order_id, customers.last_name
ОТ заказов
ВНУТРЕННЕЕ ПРИСОЕДИНЯЙТЕСЬ к клиентам
ON заказы.customer_id = customers.customer_id
ГДЕ orders.order_id <> 1
ЗАКАЗАТЬ ПОorders.order_id; 

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

идентификатор_заказа фамилия
2 Смит
3 Андерсон
4 Джексон

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

Если вы хотите выбрать все поля из таблицы заказов , а затем поле фамилия из таблицы клиентов, введите следующую инструкцию SELECT:

Попробуйте

 SELECT заказы. *, customers.last_name
ОТ заказов
ВНУТРЕННЕЕ ПРИСОЕДИНЯЙТЕСЬ к клиентам
ON заказы.customer_id = customers.customer_id
ГДЕ orders.order_id <> 1
ЗАКАЗАТЬ ПОorders.order_id; 

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

order_id идентификатор_клиента дата_заказа фамилия
2 5000 18.04.2016 Смит
3 8000 19.04.2016 Андерсон
4 4000 20.04.2016 Джексон

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

Практические упражнения

Если вы хотите проверить свои навыки работы с оператором SQL SELECT, выполните некоторые из наших практических упражнений.

Эти упражнения позволят вам проверить свои навыки работы с оператором SELECT. Вам будут предложены вопросы, которые вам необходимо решить. После каждого упражнения мы предлагаем решение, чтобы вы могли проверить свой ответ. Попробуйте!

Перейти к практическим упражнениям

SQL | SELECT Query — GeeksforGeeks

Посмотреть обсуждение

Улучшить статью

Сохранить статью

  • Уровень сложности: Easy
  • Последнее обновление: 09 янв, 2019

  • Прочитать
  • Обсудить
  • Посмотреть обсуждение

    Улучшить статью

    Сохранить статью

    Оператор Select является наиболее часто используемым оператором SQL. Оператор SELECT в SQL используется для извлечения или извлечения данных из базы данных. Мы можем получить либо всю таблицу целиком, либо по каким-то заданным правилам. Возвращаемые данные сохраняются в таблице результатов. Эта таблица результатов также называется набором результатов.

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

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

    Образец таблицы:

    Базовый синтаксис:

      SELECT column1,column2 FROM table_name 
      столбец1, столбец2  : имена полей таблицы
      имя_таблицы:  откуда мы хотим получить 

    Этот запрос вернет все строки в таблице с полями столбец1, столбец2.

    • Чтобы получить всю таблицу или все поля в таблице:
       SELECT * FROM имя_таблицы; 
    • Запрос для получения полей ROLL_NO, NAME, AGE из таблицы Student:
       SELECT ROLL_NO, NAME, AGE FROM Student; 

      Выход:

      ROLL_NO NAME Age
      1 Ram 18
      2 RAMESH 18
      3 SUJIT 20
      4 SURESH 18
    • Чтобы получить все поля из таблицы Student:
       SELECT * FROM Student; 

      Вывод:

      810XXX 20 910 90 XXXXXX
      ROLL_NO NAME ADDRESS PHONE Age
      1 Ram Delhi XXXXXXXXXX 18
      2 РАМЕШ ГУРГАОН XXXXXXXXXX 18
      3 СУДЖИТ РОХТАК00082
      4 SURESH DELHI XXXXXXXXXXX 18

    Эта статья предназначена на HARSH

    .