В Структурированный язык запросов предлагает пользователям базы данных мощный и гибкий механизм поиска данных - оператор SELECT. В этой статье мы рассмотрим общую форму оператора SELECT и вместе составим несколько примеров запросов к базе данных. Если это ваш первый визит в мир языка структурированных запросов, возможно, вы захотите просмотреть Основы SQL прежде чем продолжить. Если вы хотите создать новую базу данных с нуля, узнайте, как создавать базы данных и таблицы в SQL должен стать хорошей отправной точкой.
Теперь, когда вы освежили основы, давайте приступим к изучению оператора SELECT. Как и в предыдущих уроках SQL, мы продолжим использовать операторы, соответствующие стандарту ANSI SQL. Вы можете обратиться к документации к вашей СУБД, чтобы определить, поддерживает ли она расширенные параметры, которые могут повысить эффективность и / или действенность вашего кода SQL.
Общая форма оператора SELECT
Общая форма оператора SELECT представлена ниже:
ВЫБРАТЬ select_list
ИЗ источник
ГДЕ условия)
ГРУППА ПО выражение
ИМЕЮЩИЕ условие
СОРТИРОВАТЬ ПО выражение
Первая строка оператора сообщает процессору SQL, что эта команда является ВЫБРАТЬ утверждение и что мы хотим получить информацию из базы данных. В select_list позволяет нам указать тип информации, которую мы хотим получить. В ИЗ предложение во второй строке определяет конкретную (-ые) таблицу (-ы) базы данных и ГДЕ предложение дает нам возможность ограничить результаты теми записями, которые соответствуют указанным условия). Последние три пункта представляют собой расширенные функции, выходящие за рамки данной статьи - мы рассмотрим их в будущих статьях по SQL.
Самый простой способ изучить SQL - это на примере. Имея это в виду, давайте начнем с некоторых запросов к базе данных. В этой статье мы будем использовать таблицу сотрудников из вымышленной базы данных отдела кадров корпорации XYZ, чтобы проиллюстрировать все наши запросы. Вот вся таблица:
EmployeeID |
Фамилия |
Имя |
Оплата труда |
Отчеты |
1 |
Смит |
Джон |
32000 |
2 |
2 |
Scampi |
Сью |
45000 |
НОЛЬ |
3 |
Кендалл |
Том |
29500 |
2 |
4 | Джонс | Авраам | 35000 | 2 |
5 | Аллен | Билл | 17250 | 4 |
6 | Рейнольдс | Эллисон | 19500 | 4 |
7 | Джонсон | Кэти | 21000 | 3 |
Получение всей таблицы
Директор по персоналу XYZ Corporation получает ежемесячный отчет с информацией о заработной плате и отчетной информации для каждого сотрудника компании. Создание этого отчета является примером простейшей формы оператора SELECT. Он просто извлекает всю информацию, содержащуюся в таблице базы данных - каждый столбец и каждую строку. Вот запрос, который даст такой результат:
ВЫБРАТЬ *
ОТ сотрудников.
Довольно просто, правда? Звездочка (*), появляющаяся в select_list - это подстановочный знак, используемый для информирования базы данных о том, что мы хотели бы получить информацию из всех столбцов в таблице сотрудника, указанных в предложении FROM. Мы хотели получить всю информацию в базе данных, поэтому не было необходимости использовать предложение WHERE для ограничения строк, выбранных из таблицы. Вот как выглядят результаты нашего запроса:
EmployeeID | Фамилия | Имя | Оплата труда | Отчеты |
1 | Смит | Джон | 32000 | 2 |
2 | Scampi | Сью | 45000 | НОЛЬ |
3 | Кендалл | Том | 29500 | 2 |
4 | Джонс | Авраам | 35000 | 2 |
5 | Аллен | Билл | 17250 | 4 |
6 | Рейнольдс | Эллисон | 19500 | 4 |
7 | Джонсон | Кэти | 21000 | 3 |