Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2- Введение в язык запросов SQL.docx
Скачиваний:
5
Добавлен:
14.11.2019
Размер:
88.61 Кб
Скачать

24

Лекция 4

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

Для обращения к данным в 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)

    1. Create DataBase

    2. Create Table

    3. Alter DataBase

    4. Alter Table

    5. Drop

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

    1. Select

    2. Insert

    3. Delete

    4. Update

    5. Commit

    6. Rollback

В 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 Поставщики

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

Пример.

SELECT '123', Товар, @@SERVERNAME, Количество_ед_товара*Цена_ед_товара FROM Поставки

Эта команда возвращает

  • столбец констант ‘123’,

  • столбец базы данных с именем Товар,

  • столбец, содержащий значение функции @@servername,

  • производный столбец Количество_ед_товара*Цена_ед_товара

Чтобы список выборки содержал все столбцы таблицы, можно либо перечислить имена всех столбцов, либо включить в список выборки символ звездоч­ки (*).

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

Следующий пример демонстрирует использование звездочки в команде select:

SELECT * FROM Поставки

SELECT * , @@SERVERNAME, Количество_ед_товара*Цена_ед_товара FROM Поставки