- •Лабораторных работ
- •Основные термины
- •Синтаксис команды select
- •Создание таблиц
- •4. Команды манипулирования данными
- •4.1 Вставка в таблицу новой строки
- •4.2 Удаление строк из таблицы
- •4.3 Команда update
- •5.1 Выбор по критерию
- •5.2 Исключение дублирующих значений.
- •Формирование запросов (команда select).
- •5.3 Операторы в сравнениях
- •5.3.1 Операторы сравнения.
- •5.3.2 Булевы операторы
- •5.3.3 Специальные операторы в условиях.
- •5.4 Подведение итогов с помощью функций агрегирования
- •5.5 Упорядочение выходных полей
- •Соединение таблиц
- •Объединение таблицы по принципу «сама с собой»
- •7.1 Вложение запросов
- •7.2 Использование агрегатных функций в подзапросе
- •7.3 Связанные подзапросы в having
Формирование запросов (команда select).
Язык SQL есть структурированный язык запросов. Запрос в этой среде –это команда. С помощью которой пользователь формулирует задачу для СУБД. После выполнения команды СУБД должна представить указанную в запросе информацию для пользователя.
Все запросы в SQL формулируются с помощью одной команды SELECT, после которой в базе данных начинается поиск определенной (нужной) информации в таблице.
Пример. На основании таблицы Spisok получить таблицу со всеми записями следующего вида:
-
фамилия
стипендия
Подается команда: SELECT fio, stip
FROM Spisok;
Поясним команду в приведенном примере:
SELECT- ключевое слово, которое «сообщает» СУБД о том, что команда является запросом;
fio, stip- список имен полей (столбцов ), по которым должна выбираться информация и формироваться новая таблица;
FROM Spisok; FROM- ключевое слово , должно быть в каждом запросе; Spisok-имя таблицы – источника данных для запроса;
Символ точка с запятой (;)- признак окончания команды и готовности к ее выполнению.
После ключевого слова SELECT следует пробел. Далее через запятую перечисляются имена полей (столбцов ) выборки, для вывода всех столбцов таблицы базы данных список полей можно не перечислять, заменив его символом «звездочка» (*). Столбцы выводятся в соответствии со структурой таблицы-источника
SELECT*
FROM Spisok;
Командой SELECT можно выводить столбцы в любой последовательности, отличной от упорядоченной по определению структуры таблицы-источника. Эта последовательность задается перечнем имен столбцов в команде SELECT. Пример переупорядоченных столбцов в выходной таблице
SELECT kurs, grupa, fio
FROM Spisok;
5.1 Выбор по критерию
С помощью предложения WHERE в команде SELECT задается условие выбора записей из таблицы; предикат может принимать значение «истина» или «ложь».
Пример. Команда SELECT для выбора из таблицы Spisok студентов группы ФФ1:
SELECT grupa, fio FROM Spisok WHERE grupa=’ФФ1’;
Программа просмотрит все записи таблицы Spisok, проверяя каждую из них, на истинность предиката grupa=’ФФ1’.
Замечание. Столбец, используемый в предложении WHERE (в примере grupa) необязателен в выходных данных.
5.2 Исключение дублирующих значений.
Предикат DISTINCT в команде SELECT исключает повторяющиеся записи, содержащие повторяющиеся значения в выбранных полях. Значением в каждом поле должны быть уникальными.
Предположим, требуется составить список футбольной команды на основании таблицы sport. В команду включается по одному студенту из каждой группы (принцип исключения повторяющихся значений):
SELECT fio, grupa
DISTINCT futbol
FROM sport;
Предикат DISTINCT проверяет, какие значения появились в выходном списке данных, и исключает из него дублирующие значения.
Таким образом , команда SELECT позволяет на основании таблицы-источника данных получить необходимую информацию в желаемом виде.
