Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
54
Добавлен:
15.06.2014
Размер:
1.95 Mб
Скачать

7 Общие сведения о dml.

СУБД позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными(DML Data Manipulation Language).

Наличие централизованного хранилища данных позволяет использовать язык DMLкак общий инструмент организации запросов, который иногда называютязыком запросов (query language).

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

Инструкции SELECT, INSERT, DELETE, UPDATE, рассмотренные ранее, предназначены для обработки данных. В совокупности эти инструкции называются языком обработки данных, или DML (Data Manipulation Language). Инструкции DML могут модифицировать информацию, хранимую в базе данных, но не могут изменять ее структуру. Например, ни одна из этих инструкций не позволяет создавать и удалять таблицы или столбцы.

Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне. Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL

8 Общий синтаксис инструкции select

Инструкция SELECTизвлекает информацию из базы данных и возвращает её в виде таблицы результатов запроса.

SELECT (DISTINCT) ВОЗВРАЩАЕМЫЙ СТОЛБЕЦ

FROMИМЯ ТАБЛИЦЫ(ИЦ)

WHEREУСЛОВИЕ ОТБОРА

(GROUPBYИМЯ СТОЛБЦА)

(HAVINGУСЛОВИЕ ОТБОРА)

(ORDERBYСОРТИРОВКА)

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

В предложении from указывается список таблиц, которые содержат элементы данных, извлекаемые запросом.

Предложение where показывает, что в результаты запроса следует включать только некоторые строки

Предложение group by позволяет создать итоговый запрос. Обычный запрос включает в результаты запроса по одной записи для каждой строки из таблицы

Предложение having показывает, что в результаты запроса следует включать только некоторые из групп, созданных с помощью предложенияgroup by.

Предложение order by сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах. Если это предложение не указано, результаты запроса не будут отсортированы

9 Предложения select и from. Предикаты и вычисляемые столбцы (пример).

Предложение SELECT

В предложении select, с которого начинаются все инструкцииselect, необходимо указать элементы данных, которые будут возвращены в результате запроса. Эти элементы задаются в видесписка возвращаемых столбцов, разделенных запятыми. Для каждого элемента из этого списка в таблице результатов запроса будет создан один столбец. Столбцы в таблице результатов будут расположены в том же порядке, что и элементы списка возвращаемых столбцов. Возвращаемый столбец может представлять собой:

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

константу, показывающую, что в каждой строке результатов запроса должно содержаться одно и то же значение;

выражение, показывающее, что СУБД должна вычислять значение, помещаемое в таблицу результатов запроса, по формуле, определенной в выражении. Такие столбцы таблицы результатов носят название вычисляемых.

Предложение FROM

Предложение FROMсостоит из ключевого словаfrom, за которым следуетсписок спецификаторов таблиц, разделенных запятыми. Каждый спецификатор таблицы идентифицирует таблицу, содержащую данные, которые извлекает запрос. Такие таблицы называютсяисходными таблицами запроса.

Предикаты и вычисляемые столбцы

В SQLобычно используются пять основных условий отбора (в стандартеANSI/ISOони называютсяпредикатами)

- сравнение(=, !=(не равно), <, >, <=, >=.)

- проверка на принадлежность диапазону(BETWEENAND)

select fname, lname

from staff

where DOB between ’01-Oct-63’ and ’31-Dec-71’;

- проверка на членство в множестве(in)

select address, tel_no

frombranch

where city in (‘Минск’, ‘Витебск’, ‘Брест’);

- проверка на соответствие шаблону(like)

select lname, address, tel_no

from staff

wherelnamelike‘K%’

Символ ‘%’ - замещает произвольную последовательность символов, а ‘_’ – замещает одиночный символ

- проверка на равенство значению NULL.