Операторы 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
Оператор 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 -сортировка в порядке убывания