Язык структурированных запросов предлагает пользователям базы данных мощный и гибкий механизм поиска данных — оператор 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 | Джонс | Авраам | 35000 | 2 |
5 | Аллен | Билл | 17250 | 4 |
6 | Рейнольдс | Allison | 19500 | 4 |
7 | Джонсон | Кэти | 21000 | 3 |
Получение всей таблицы
Директор по персоналу корпорации XYZ получает ежемесячный отчет с информацией о заработной плате и отчетности для каждого сотрудника компании. Генерация этого отчета является примером простейшей формы оператора SELECT. Он просто извлекает всю информацию, содержащуюся в таблице базы данных — каждый столбец и каждую строку. Вот запрос, который выполнит этот результат:
ВЫБРАТЬ *
ОТ сотрудников
Довольно просто, правда? Звездочка (*), появляющаяся в списке select_list, является подстановочным знаком, используемым для информирования базы данных о том, что мы хотели бы получить информацию из всех столбцов в таблице сотрудника, указанной в предложении FROM. Мы хотели получить всю информацию в базе данных, поэтому не было необходимости использовать предложение WHERE для ограничения строк, выбранных из таблицы. Вот как выглядят результаты нашего запроса:
EmployeeID | Фамилия | Имя | Зарплата | ReportsTo |
———- | ——— | ——— | —— | ——— |
1 | кузнец | Джон | 32000 | 2 |
2 | креветки с чесночным соусом | Сью | 45000 | ЗНАЧЕНИЕ NULL |
3 | Kendall | Том | 29500 | 2 |
4 | Джонс | Авраам | 35000 | 2 |
5 | Аллен | Билл | 17250 | 4 |
6 | Рейнольдс | Allison | 19500 | 4 |
7 | Джонсон | Кэти | 21000 | 3 |