Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD.doc
Скачиваний:
9
Добавлен:
22.04.2019
Размер:
507.9 Кб
Скачать

Структура языка sql

Язык SQL делится на подмножества.

1) Язык определения данных (DDL – Data Definition Language) предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных.

Операторы: CREATE, ALTER, DROP.

2) Язык манипулирования данными (DML – Data Manipulation Language) позволяет вставлять, обновлять и извлекать информацию из базы данных.

Операторы: SELECT, INSERT, DELETE, UPDATE.

3) Язык управления данными (DCL – Data Control Language) состоит из управляющих операторов.

Операторы – GRANT, REVOKE.

4) Язык управления транзакциями (TCL – Transaction Control Language) состоит из операторов, предназначенных для управления ходом выполнения транзакций.

Операторы: COMMIT, ROLLBACK, SAVEPOINT.

9.2. Подмножество языка DML: операторы SELECT, INSERT, UPDATE, DELETE.

Оператор выбора SELECT

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

SELECT [ALL | DISTINCT] <список полей> | *

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

[WHERE <условие фильтрации строк>]

[GROUP BY <условия группировки строк>]

[HAVING <условие фильтрации групп>]

[ORDER BY <условие сортировки результата запроса>]

 

Результатом выполнения оператора SELECT является набор данных (временная таблица), который затем либо передается пользователю, запросившему данные, либо используется как источник данных для другого оператора SELECT в качестве подзапроса.

 Исключение дубликатов

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

Сортировка результирующего набора данных

Для сортировки результирующего набора данных используется параметр ORDER BY оператора SELECT. По умолчанию (неявно) сортировка всегда происходит по возрастанию. Но способ сортировки можно задать явно, указав после соответствующего поля параметр ASC или DESC для сортировки по возрастанию или убыванию соответственно. Например:

Выборка с использованием параметра WHERE

Параметр WHERE служит для отбора кортежей, или строк, удовлетворяющих определенному условию. Условие может быть составлено с использованием следующих конструкций:

  • операторы сравнения: =, < , > , <= , >= , <>;

  • булевы операторы: AND, OR, NOT;

  • оператор проверки на вхождение в множество: IN;

  • оператор проверки на вхождение в диапазон: BETWEEN (Использование оператора BETWEEN возможно не только по отношению к полям числового типа, он применим также к полям строкового типа и датам);

  • оператор проверки удовлетворению шаблону (только для символьных полей): LIKE;

  • операторы сравнения с NULL: IS NULL, IS NOT NULL; (В ORACLE вообще нельзя вставить пустую строку – она всегда будет рассматриваться как NULL.)

  • агрегатные функции: COUNT, SUM, AVG, MAX, MIN;

  • константы и выражения;

  • подзапросы.

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

Использование IN

Оператор IN используется для проверки вхождения значения какого-либо столбца в множество. Например: 

SELECT Name FROM Managers

WHERE Procent IN (5, 10, 15); 

В сочетании с оператором IN можно также использовать NOT для отбора строк, в которых значение какого-либо столбца наоборот не входит в множество. Например: 

SELECT Name FROM Managers

WHERE Procent NOT IN (5, 10, 15);

 Использование LIKE

Оператор LIKE используется для отбора строк, в которых значение какого-либо удовлетворяет определенному шаблону. Шаблон - строка, состоящая из обычных символов и специальных символов: % и _

% - любое количество любых символов, в том числе и нулевое

_ - любой один символ

County LIKE 'Р%'

'%'

'_'

'%_'  

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

 

Оператор ввода новых строк INSERT - вставка единственной записи в таблицу

Любая новая информация попадает в базу данных посредством использования оператора INSERT. Для добавления информации о каждом новом объекте используется один оператор INSERT, имеющий следующий синтаксис:

INSERT INTO имя_таблицы[(список_атрибутов)]

VALUES (список_значений);

 

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

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