Запрос на языке SQL формируется с использованием оператора Select. Оператор Select используется
для выборки данных из базы данных;
для получения новых строк в составе оператора Insert;
для обновления информации в составе оператора Update.
В общем случае оператор Select содержит следующие шесть основных спецификаторов, расположенных в операторе в следующем порядке:
спецификатор Select;
спецификатор From;
спецификатор Where;
спецификатор Group by;
спецификатор Having;
спецификатор Order by.
Обязательными являются только спецификаторы Select и From. Эти два спецификатора составляют основу каждого запроса к базе данных, поскольку они определяют таблицы, из которых выбираются данные, и столбцы, которые требуется выбрать.
Спецификатор Where добавляется для выборки определенных строк или указания условия соединения. Спецификатор Order by добавляется для изменения порядка получаемых данных. Два дополнительных спецификатора оператора Select - Group by (спецификатор группирования) и Having (спецификатор условия выборки группы) - позволяют выполнять более сложные выборки данных.
ПРИМЕРЫ
1. Выбор всех строк и столбцов таблицы.
Выдать полную информацию о поставщиках.
Select * from S
Результат: таблица S в полном объеме.
2. Изменение порядка следования столбцов.
Выдать таблицу S в следующем порядке: фамилия, город, рейтинг, номер_поставщика.
Select фамилия, город, рейтинг, номер_поставщика from S
Результат: таблица S в требуемом порядке.
3. Выбор заданных столбцов.
Выдать номера всех поставляемых деталей.
Select номер_детали from SP
Результат: столбец номер_детали таблицы SP
4. Выбор без повторения
Выдать номера всех поставляемых деталей, исключая дублирование.
Select distinct номер_детали from SP
номер_детали
P1
P2
P3
P4
P5
P6
5. Использование в запросах констант и выражений.
Select номер_детали, 'вес в мг', вес*1000 from P
P1 вес в мг=12000
---------------------
---------------------
P6 вес в мг=19000
6.Ограничение в выборке.
Выдать номера всех поставщиков, находящихся в Париже с рейтингом > 0.
Select номер_поставщика from S
where город='Париж' and рейтинг>20
номер_поставщика
S3
7. Выборка с упорядочиванием.
Выдать номера поставщиков, находящихся в Париже в порядке убывания рейтинга.
Select номер_поставщика, рейтинг from S
where город='Париж'
order by рейтинг desc
номер_поставщика
рейтинг
S3
S2
8. Упорядочивание по нескольким столбцам.
Выдать список поставщиков, упорядоченных по городу, в пределах города - по рейтингу.
Select * from S order by город, рейтинг
Hомеp_поставщика
Фамилия
Рейтинг
Гоpод
S5
Адамс
Атенс
S1
Смит
Лондон
S4
Кларк
Лондон
S2
Джонс
Париж
S3
Блейк
Париж
9. Фраза between.
Выдать информацию о деталях, вес которых лежит в диапазоне от 16 до 19.
Select номер_детали, название, вес from P
where вес between 16 and 19
номер_детали
название
вес
P2
Болт
P3
Винт
P6
Блюм
10. Фраза in ( not in ).
Выдать детали, вес которых равен 12, 16 или 17.
Select номер_детали, название, вес from P
where вес in (12, 16, 17)
номер_детали
Название
вес
P1
Гайка
P2
Болт
P3
Винт
P5
Кулачок
11. Выбор по шаблону
Для запросов с поиском по шаблону, основанных на поиске подстрок в полях типа CHARACTER, по стандарту ANSI используется ключевое слово LIKE.
Включение в выражение ключевого слова NOT порождает условие c обратным смыслом.
СИМВОЛ
ЗНАЧЕНИЕ
%
заменяет последовательность символов
_ (подчерк)
заменяет любой одиночный символ
\
отменяет специальное назначение следующего за ним символа
Выбрать список деталей, начинающихся с буквы "Б"
Select номер_детали, название, вес from P
where название like 'Б%'
номер_детали
название
вес
P5
Болт
P6
Блюм
Выдать список фамилий поставщиков, третья буква имени которых "а"