История развития языка SQL Structured Query Language ’ɛs’kju’ɛl или ‘si:kwəl DML (Data Manipulation Language) DDL (Data Definition Language) DCL (Data Control Language) TCL (Transaction Control Language) DML SELECT INSERT UPDATE DELETE DDL CREATE DATABASE CREATE TABLE CREATE VIEW CREATE INDEX CREATE TRIGGER CREATE PROCEDURE ALTER DATABASE ALTER TABLE ALTER VIEW ALTER INDEX ALTER TRIGGER ALTER PROCEDURE DROP DATABASE DROP TABLE DROP VIEW DROP INDEX DROP TRIGGER DROP PROCEDURE DCL GRANT REVOKE TCL COMMIT ROLLBACK SAVEPOINT SET TRANSACTION Типы данных INTEGER SMALLINT DECIMAL(p,q) FLOAT CHAR(n) VARCHAR(n) DATE TIME DATETIME MONEY -0,123 может быть записано как -12.3е-2 Пример БЛ Блюдо В Основа Выход Труд 1 Салат летний З Овощи 200 3 2 Салат мясной З Мясо 200 4 3 Салат витаминный З Овощи 200 4 4 Салат рыбный З Рыба 200 4 5 Паштет из рыбы З Рыба 120 5 6 Мясо с гарниром З Мясо 250 3 CREATE TABLE Блюда (БЛ SMALLINT, Блюдо CHAR (70), В CHAR (1), Основа CHAR (10), Выход FLOAT, Труд SMALLINT); Предложение SELECT SELECT [ALL | DISTINCT] в_выражение, ... FROM имя_табл [син_табл], ... [WHERE сложн_условие] [GROUP BY полн_имя_столбца|ном_столбца, ...] [ORDER BY полн_имя_столбца|ном_столбца [ASC|DESC], ...] [HAVING сложн_условие]; WHERE [NOT] WHERE_условие [[AND|OR][NOT] WHERE_условие]... значение { = | <> | < | < = | > | > = } { значение | ( подзапрос ) } значение_1 [NOT] BETWEEN значение_2 AND значение_3 значение [NOT] IN { ( константа [,константа]... ) | ( подзапрос ) } значение IS [NOT] NULL [таблица.]столбец [NOT] LIKE 'строка_символов' [ESCAPE 'символ'] EXISTS ( подзапрос ) GROUP BY [таблица.]столбец [,[таблица.]столбец] ... [HAVING фраза] HAVING [NOT] HAVING_условие [[AND|OR][NOT] HAVING_условие]... Простая выборка SELECT Основа FROM Блюда; SELECT DISTINCT Основа Основа FROM Блюда; Овощи Мясо Овощи Основа Рыба Овощи Рыба Мясо Мясо Рыба Выборка c использованием фразы WHERE SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C FROM Продукты WHERE Углев = 0 SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C FROM Продукты WHERE Углев = 0 AND Na = 0; Использование BETWEEN SELECT Продукт, Белки FROM Продукты WHERE Белки BETWEEN 10 AND 50; SELECT Продукт, Белки, Жиры FROM Продукты WHEREБелки NOT BETWEEN 10 AND 50 AND Жиры > 100; Пример Таблица Минимальные оклады Миноклад Начало Конец 2250 01-01-1993 31-03-1993 4275 01-04-1993 30-06-1993 7740 01-07-1993 30-11-1993 14620 01-12-1993 30-06-1994 20500 01-07-1994 09-09-9999 SELECT Начало, Миноклад FROM Миноклады WHEREНачало BETWEEN '1-9-1993' AND '31-8-1994' Начало Миноклад 01-12-1993 14620 01-07-1994 20500 Синтаксис оператора GRANT GRANT privilege_list ON table_name TO user_name Синтаксис оператора REVOKE REVOKE privilege_list ON table_name FROM user_name