Операторы DDL (Data Definition Language) - операторы определения объектов базы данных

CREATE SCHEMA - создать схему базы данных DROP SHEMA - удалить схему базы данных CREATE TABLE - создать таблицу ALTER TABLE - изменить таблицу DROP TABLE - удалить таблицу CREATE DOMAIN - создать домен ALTER DOMAIN - изменить домен DROP DOMAIN - удалить домен CREATE COLLATION - создать последовательность DROP COLLATION - удалить последовательность CREATE VIEW - создать представление DROP VIEW - удалить представление

Операторы DML (Data Manipulation Language) - операторы манипулирования данными

SELECT - отобрать строки из таблиц INSERT - добавить строки в таблицу UPDATE - изменить строки в таблице DELETE - удалить строки в таблице COMMIT - зафиксировать внесенные изменения ROLLBACK - откатить внесенные изменения

Операторы защиты и управления данными

CREATE ASSERTION - создать ограничение DROP ASSERTION - удалить ограничение GRANT - предоставить привилегии пользователю или приложению на манипулирование объектами REVOKE - отменить привилегии пользователя или приложения

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

 

31. SELECT

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

32. WHERE SELECT * FROM P WHERE P.PNUM > 2;

В качестве условия в разделе WHERE можно использовать сложные логические выражения, использующие поля таблиц, константы, сравнения (>, <, = и т.д.), скобки, союзы AND и OR, отрицание NOT.

33. SELECT исчисляемые поля

Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT):

SELECT DISTINCT P.NAME

FROM P;

использование скалярных выражений и переименований колонок в запросах (ключевое слово AS…):

SELECT

TOVAR.TNAME,

TOVAR.KOL,

TOVAR.PRICE,

"=" AS EQU,

TOVAR.KOL*TOVAR.PRICE AS SUMMA

FROM TOVAR;

Упорядочение результатов запроса (ключевое слово ORDER BY…):

SELECT

PD.PNUM,

PD.DNUM,

PD.VOLUME

FROM PD

ORDER BY DNUM;

Исп. числовых и текстовых констант – получим новые столбцы с калорий и суммой

SELECT Вид, Блюдо, 'калорий -', (SUM(INT((Белки+Углев)*4.1+Жиры*9.3)*Вес/1000)), (SUM(Стоимость/К_во*Вес/1000)+MIN(Труд/100)),▓руб▓FROM Блюда, Вид_блюд, Состав, Продукты, НаличиеWHERE Блюда.БЛ = Состав.БЛAND Состав.ПР = Продукты.ПРAND Состав.ПР = Наличие.ПРAND Блюда.В = Вид_блюд.ВAND БЛ NOT IN ( SELECT БЛ FROM Состав WHERE ПР IN ( SELECT ПР FROM Наличие WHERE К_во = 0))GROUP BY Вид, Блюдо HAVING SUM(Стоимость/К_во*Вес/1000+MIN(Труд/100)) < 1.5 AND SUM(((Белки+Углев)*4.1+Жиры*9.3)*Вес/1000) < 400ORDER BY Вид, 4;

 

34 Операторы сравнения

Операторы сравнения используются в командах языка SQL для проверки отдельных значений. следующие операторы сравнения: =, < >, < и >.
SELECT *
FROM PRODOCTS_TBL
WHERE PROD ID = '2345';

 

Оператор BETWEEN используется для поиска значения внутри некоторого интервала, определяемого своими минимальным и максимальным значениями. При этом указанные минимальное и максимальное значение включаются в условие поиска.

SELECT *
PRODUCTS_TBL
WHERE COST BETWEEN 5.95 AND 14.5;

Оператор IN

Оператор IN используется для сравнения некоторого значения со списком заданных литеральных значений. Чтобы было возвращено TRUE, это значение должно совпадать по крайней мере с одним из значений списка.

WHERE SALARY IN ('20000', '30000', '40000') Зарплата должна совпадать
с одним из значений 20000, 30000
или 40000

УпорядочиваниеSELECT Продукт, Белки, Жиры, УглевFROM ПродуктыORDER BY Белки DESC;

Оператор LIKE

Оператор LIKE применяется для сравнения исходного значения с подобными ему значениями при помощи шаблонов (wildcards).

· Знак процента (%)

· Символ подчеркивания (_)

WHERE SALARY LIKE '200%' Находит значения любой длины, которые
начинаются с 200; значение 200 включается
WHERE SALARY LIKE '_00% ' Находит все значения, которые содержат 00 во
второй и третьей позициях
WHERE SALARY LIKE ' 2 % % ' Находит все значения, которые начинаются с 2
WHERE SALARY LIKE '_2%3' Находит все значения, которые содержат 2 во второй
позиции и заканчиваются 3

 

37. Использование NULL-значений в условии WHERE.

В этом случае для выявления названий продуктов, отсутствующих в кладовой, шеф-повар может дать запрос

SELECT DISTINCT ПР FROM Наличие WHERE К_во IS NULL;    
   

SELECT DISTINCT ПР

FROM Наличие

WHERE К_во IS NULL -сортировка в порядке убывания