Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
srs_IPOVS_BD.doc
Скачиваний:
41
Добавлен:
05.06.2015
Размер:
1.19 Mб
Скачать

9.2. Краткое введение в sql

Язык SQL включает в себя небольшое число основных операторов. Наиболее часто используемым оператором языка SQL, выполняющим отбор информации из БД, является оператор SELECT, который в простейшем виде может задаваться так:

SELECT <список столбцов, включаемых в ответ> FROM <список таблиц> WHERE <условие>

Запрос может быть простым и вложенным, т.е. оператор SELECT может быть включен в состав другого оператора. этот включенный оператор называется подзапросом.

Ключевые слова SELECT (отобрать) и FROM (из) должны присутствовать в операторе обязательно, слово WHERE (где) вместе с условием могут быть опущены. В этом случае в ответ войдут все строки, имеющиеся в указанных таблицах.

Если в ответ должны войти все столбцы, имеющиеся в указанных таблицах, то вместо их перечисления в операторе SELECT можно поставить знак “*”. Например, запрос, выбирающий сведения обо всех Ивановых из таблицы PERSON, может быть представлен на языке SQL следующим образом:

SELECT * FROM person WHERE fio=‘ИВАНОВ’

Оператор SELECT оперирует множествами, и результатом обработки в общем случае является множество строк. поэтому к этим множествам могут быть применены операции реляционной алгебры: объединение (UNION), пересечение (INTERSECTION), разность (DIFFERENCE, MINUS). В разных реализациях языка SQL имеется свой набор таких операций.

Язык SQL позволяет запрашивать вычисляемые значения, задавать сортировку полученного ответа по определенному признаку, осуществлять группировку данных с целью получения промежуточных итогов или обобщающих величин (например: среднее, минимум, максимум).

SQL первоначально создавался как язык запросов, но фактически является комплексным языком “запросов-обновлений” и включает в себя два языка: язык описания данных (SQL -DDL) и язык манипулирования данными (SQL-DML).

Применение языка SQL для формирования запросов к БД является более мощным средством по сравнению с какими-либо универсальным языком программирования высокого уровня. Оператор языка SQL работает не с отдельной строкой, а с частью таблицы как с единым целым. Используя эту особенность, можно формировать достаточно сложные запросы к нескольким связанным таблицам с помощью небольшого по размеру оператора.

Язык SQL позволяет выполнять такие операции, как создание и уничтожение таблиц, индексов и т.д., ввод, удаление и изменение данных, а также обеспечивать защиту информации.

Тема 10. Основные элементы языка sql. Использование языка sql для выборки данных

10.1. Оператор select

Этот оператор является основным в языке SQL и служит для отбора данных и выдачи результатов этого отбора в заданном виде. Оператор имеет следующий формат:

SELECT <предложение>

FROM <предложение>

[WHERE <условие>]

[GROUP BY <предложение>] [HAVING <условие>]

[UNION <подзапрос>]

[ORDER BY <предложение>]

Обязательными являются фразы (или предложения) SELECT и FROM. Все другие компоненты оператора SELECT, если они используются, должны записываться в том порядке, в котором они перечислены в формате оператора.

Рассмотрим правила записи отдельных компонентов оператора SELECT.

Фраза SELECT имеет следующий формат:

SELECT [DISTINCT] { * | <список выражений>}

Если указано DISTINCT, то в результирующую таблицу отбираются только уникальные строки. По умолчанию отбираются все строки, в том числе повторяющиеся.

Знак “*” указывает, что в результирующую таблицу выводятся все столбцы из таблиц, указанных в фразе FROM.

В списке выражений обычно перечисляются имена столбцов, которые будут выводиться в результирующую таблицу. Но могут быть указаны и константы; тогда это значение будет повторено во всех строках результирующей таблицы. Кроме того, в качестве элемента в списке выражений может быть задано арифметическое выражение для определения вычисляемого столбца.

В выражениях могут употребляться стандартные функции, в том числе: SUM (сумма), AVG (среднее), MIN (минимальное), MAX (максимальное), COUNT (число значений). Каждая из этих функций оперирует совокупностью значений в столбце, заданном в качестве аргумента функции.

Аргументу функции может предшествовать ключевое слово DISTINCT, которое указывает, что дублирующие значения не должны учитываться при определении результата. Например:

SELECT ‘ВСЕГО ЖИТЕЛЕЙ’, COUNT (DISTINCT nom),

‘СУММА ДОХОДОВ=’, SUM (money) FROM Have_D

Фраза FROM содержит список имен таблиц, которые используются для формирования результирующей таблицы. Например, чтобы получить таблицу с фамилиями жителей и их телефонами, нужен запрос

SELECT person.Fio,tphone.Ntel

FROM person,tphone

WHERE person.Adr=tphone.Adr

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]