F. Rollback

E. Commit

D. Update

C. Delete

B. Insert

A. Select

Введение в язык запросов SQL

Лекция 4

Для обращения к данным в MS SQL Server используется язык структурированных запросов SQL (Structured Query Language).

Этот язык используется также для создания, редактирования и удаления самой базы данных и ее отдельных объектов.

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

Диалект SQL, кото­рый используется в Microsoft SQL Server, называется Transact-SQL (T-SQL).

Общие правила синтаксиса SQL очень просты:

1. Язык SQL не чувствителен к регистру.

2. Если используется программа (процедура), содержащая несколь­ко операторов SQL, то в конце каждого оператора ставится точка с запятой «;».

3. Если используется один оператор, точка с запятой в конце не обязательна.

4. Комментарий может записываться в стиле Си /*<комментарий>*/>, а в некоторых системах – и в стиле Pascal: {<комментарий>}.

Вот, собственно, и все правила.

Язык SQL состоит из двух групп операторов:

1. Операторы DDL (Data Definition Language)

a. Create DataBase

b. Create Table

c. Alter DataBase

d. Alter Table

e. Drop

2. Операторы DML(Data Manipulation Language)

 

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

Структура команды SELECT

Одна из форм опера­тора SELECT имеет следующий упрощенный синтаксис:

 

SELECT [ALL | DISTINCT]<список имен полей или выражений над атрибутами и константами>

[AS<псевдоним результата выбора>]

FROM <список таблиц>

[ WHERE <условие отбора> ]

[GROUP BY<список атрибутов> ]

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

[UNION <выражение с оператором SELECT> ]

[ORDER BY <список атрибутов> ]

[COMPUTE <агрегатная функция>) [BY<список атрибутов>] ];

 

Список полей указывается через запятую.

Результат запроса представляет собой виртуальную таблицу.

 

Итак, команда select состоит из следующих основных частей:

1. список выборки;

2. from - определяет, откуда выбирать данные;

3. where - определяет условия выборки данных;

4. group by - определяет условия группировки данных;

5. having - определяет условия выборки данных при использовании агре­гатных функций;

6. UNION - определяет тип соединения между участвующими в запросе таблицами;

7. order by - определяет условия сортировки.

 

Все части команды, кроме списка выборки, являются необязательными. Эти части следуют в строго определенном порядке.

В ключевых словах SQL регистр символов не имеет значения.

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

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

Например,

SELECT id_товара, Название FROM Товары

 

После выполнения командыselect вы получаете от SQL Server итоговый набор - таблицу с результатами запроса. Он может содержать один или несколько столбцов, пустые заголовки столбцов, а также строки с данными.

 

Рассмотрим подробно каждую из частей команды select.


Список выборки

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

Столбцы возвращаются в порядке их перечисления в списке выборки.

 

Например:

SELECT Название_фирмы, Адрес FROM Поставщики

 

Итоговый набор может содержать константы, столбцы, функции, выражения и производные столбцы (результаты выполнения расчетов или подзапросов).