Оператор 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 SELECT. Имеется следующая таблица Planets:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
2 | Saturn | 60268 | 10759.22 | — | Yes | — |
3 | Neptune | 24764 | 60190 | 1846 | Yes | John Couch Adams |
4 | Mercury | 2439 | 115. 88 | 1631 | No | Nicolaus Copernicus |
5 | Venus | 6051 | 243 | 1610 | No |
Пример 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'
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
3 | Neptune | 24764 | 60190 | 1846 | Yes | John 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:
CustomerID | CustomerName | Address | City | PostalCode | Country | |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Примеры SQL TOP, LIMIT и ROWNUM
Следующая инструкция SQL выбирает первые три записи из таблицы «Customers»:
Пример
SELECT TOP 3 * FROM Customers;
Попробуйте сами »
Следующий оператор SQL показывает эквивалентный пример использования предложения LIMIT:
Пример
SELECT * FROM Customers
LIMIT 3;
Попробуйте сами »
Следующая инструкция SQL показывает соответствующий пример использования параметра ROWNUM:
Пример
SELECT * FROM Customers
Пример 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. |
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;
Вывод:
ROLL_NO NAME ADDRESS PHONE Age 1 Ram Delhi XXXXXXXXXX 18 2 РАМЕШ ГУРГАОН XXXXXXXXXX 18 3 СУДЖИТ РОХТАК 810XXX 20 910 90 XXXXXX00082 4 SURESH DELHI XXXXXXXXXXX 18
Эта статья предназначена на HARSH .