Как получить данные с помощью SQL-запросов: оператор SELECT

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

Теперь, когда вы ознакомились с основами, давайте начнем наше исследование оператора SELECT. Как и в предыдущих уроках SQL, мы продолжим использовать операторы, соответствующие стандарту ANSI SQL. Вы можете обратиться к документации для вашей СУБД, чтобы определить, поддерживает ли она расширенные параметры, которые могут повысить эффективность и / или действенность вашего кода SQL.  

Общая форма оператора SELECT

Общая форма оператора SELECT приведена ниже:

ВЫБОР список_выборки
ОТ источника
ГДЕ условие (s)
Выражение GROUP BY
HAVING условие
ORDER BY выражение

Первая строка оператора сообщает процессору SQL, что эта команда ВЫБРАТЬ заявление и что мы хотим получить информацию из базы данных. Select_list позволяет нам указать тип информации, которую мы хотим получить. ИЗ предложение во второй строке указывает конкретную таблицу (таблицы) базы данных и ГДЕ Предложение дает нам возможность ограничить результаты теми записями, которые соответствуют указанным условиям. В последних трех пунктах представлены расширенные функции, выходящие за рамки этой статьи — мы рассмотрим их в следующих статьях по SQL.

Самый простой способ выучить SQL — это на примере. Имея это в виду, давайте начнем рассматривать некоторые запросы к базе данных. В этой статье мы будем использовать таблицу сотрудников из вымышленной базы данных кадровых ресурсов корпорации XYZ, чтобы проиллюстрировать все наши запросы. Вот вся таблица:

EmployeeID

Фамилия

Имя

Зарплата

ReportsTo

1

кузнец

Джон

32000

2

2

креветки с чесночным соусом

Сью

45000

ЗНАЧЕНИЕ NULL

3

Kendall

Том

29500

2

4ДжонсАвраам350002
5АлленБилл172504
6РейнольдсAllison195004
7ДжонсонКэти210003

Получение всей таблицы

Директор по персоналу корпорации XYZ получает ежемесячный отчет с информацией о заработной плате и отчетности для каждого сотрудника компании. Генерация этого отчета является примером простейшей формы оператора SELECT. Он просто извлекает всю информацию, содержащуюся в таблице базы данных — каждый столбец и каждую строку. Вот запрос, который выполнит этот результат:

ВЫБРАТЬ *
ОТ сотрудников

Довольно просто, правда? Звездочка (*), появляющаяся в списке select_list, является подстановочным знаком, используемым для информирования базы данных о том, что мы хотели бы получить информацию из всех столбцов в таблице сотрудника, указанной в предложении FROM. Мы хотели получить всю информацию в базе данных, поэтому не было необходимости использовать предложение WHERE для ограничения строк, выбранных из таблицы. Вот как выглядят результаты нашего запроса:

EmployeeIDФамилияИмяЗарплатаReportsTo
———-———————————
1кузнецДжон320002
2креветки с чесночным соусомСью45000ЗНАЧЕНИЕ NULL
3KendallТом295002
4ДжонсАвраам350002
5АлленБилл172504
6РейнольдсAllison195004
7ДжонсонКэти210003
Ссылка на основную публикацию