Similar presentations:
Упрощенный синтаксис инструкции SELECT
1. Упрощенный синтаксис инструкции SELECT
SELECT [предикат] * | таблица.* | [таблица.]поле[AS псевдоним] [, [таблица.]поле [AS псевдоним] [,
...]]
FROM ИменаТаблиц [, ...]
[WHERE условиеОтбора]
[GROUP BY группируемыеПоля]
[HAVING условиеГруппировки]
[ORDER BY поле_1 [ASC | DESC ][, поле_2 [ASC |
DESC ]][, ...]] ];
2. Прмеры инструкций Select
SELECT TOP 10 PERCENT Имя, ФамилияFROM Студенты WHERE ГодВыпуска = 1994
ORDER BY СреднийБалл ASC;
SELECT КодТипа, Sum(НаСкладе) AS Сумма
FROM Товары GROUP BY КодТипа
HAVING Sum(НаСкладе) > 100;
3. Операция INNER JOIN
FROM таблица_1 INNER JOIN таблица_2 ONтаблица_1.поле_1 оператор таблица_2.поле_2
Пример
SELECT Категория, Марка FROM Типы INNER JOIN
Товары ON Типы.КодТипа = Товары.КодТипа;
4. Операции LEFT JOIN, RIGHT JOIN
FROM таблица_1 [ LEFT | RIGHT ] JOINтаблица_2
ON таблица_1.поле_1 оператор
таблица_2.поле_2
Пример
SELECT Категория, Марка
FROM Типы LEFT JOIN Товары
ON Типы.КодТипа = Товары.КодТипа;
5. Описание PARAMETERS.
PARAMETERS имя типДанных [, имя типДанных[, ...]]
Пример
PARAMETERS [Минимальная цена] Currency,
[Начальная дата] DateTime;
SELECT КодЗаказа, СуммаЗаказа
FROM Заказы
WHERE СуммаЗаказа > [Минимальная цена]
AND ДатаРазмещения >= [Начальная дата];
6. инструкция TRANSFORM
TRANSFORM статФункцияSELECT
PIVOT выражение [IN (значение_1[, значение_2[, ...]])]
Пример
TRANSFORM Sum([Заказано].[Количество]*[Заказано].[Цена]) AS Продажи
SELECT Товары.Марка
FROM Заказано, Заказы, Товары
WHERE ((Year([ДатаРазмещения]))=1996)
GROUP BY Товары.Марка
ORDER BY Товары.Марка
PIVOT Format([ДатаРазмещения],"mmm")
In ("Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек");
7. инструкция DELETE
DELETE [таблица.*]FROM таблица
WHERE условиеОтбора
Пример
DELETE * FROM Сотрудники WHERE
Должность = 'Стажер';
8. инструкция INSERT INTO
INSERT INTO назначение [IN внешняяБазаДанных] [(поле_1[,поле_2[, ...]])]
SELECT [источник.]поле_1[, поле_2[, ...]
FROM выражение
Запрос на добавление одной записи:
INSERT INTO назначение [(поле_1[, поле_2[, ...]])]
VALUES (значение_1[, значение_2[, ...])
Пример
INSERT INTO Клиенты SELECT * FROM [Новые клиенты];
9. инструкция SELECT…INTO
SELECT поле_1[, поле_2[, ...]] INTO новаяТаблица [INвнешняяБазаДанных]
FROM источник
Пример
SELECT Сотрудники.* INTO Резерв FROM Сотрудники;
10. инструкция UPDATE
UPDATE таблицаSET новоеЗначение
WHERE условиеОтбора;
Пример
UPDATE Заказы
SET СуммаЗаказа = СуммаЗаказа * 1.1,
СтоимостьДоставки = СтоимостьДоставки * 1.03
WHERE СтранаПолучателя = 'Россия';
11. операция UNION
[TABLE] запрос_1 UNION [ALL] [TABLE]запрос_2 [UNION [ALL] [TABLE] запрос_n [ ... ]]
Пример
SELECT Название, Город
FROM Поставщики
UNION SELECT Название, Город
FROM Клиенты
ORDER BY Город;
12. Подчиненный запрос
Варианты синтаксиса подчиненного запроса :сравнение [ANY | ALL | SOME] (SELECT…)
выражение [NOT] IN (SELECT…)
[NOT] EXISTS (SELECT…)
Пример
SELECT * FROM Товары WHERE Цена > ANY
(SELECT Цена FROM Заказано WHERE Скидка >= 0.25);
SELECT Клиенты.Название, Клиенты.ОбращатьсяК,
Клиенты.Адрес
FROM Клиенты
WHERE Клиенты.КодКлиента In (SELECT Заказы.КодКлиента
FROM Заказы WHERE Заказы.ДатаРазмещения Between
#1/1/95# AND #3/31/95#);
13. Инструкция CREATE TABLE
CREATE TABLE таблица (поле тип [(размер)][NOT NULL] [, поле тип [(размер)]
[NOT NULL] [, ...] [, CONSTRAINT ])
Пример
CREATE TABLE [Заказчики] (Наименование TEXT (20)
Not NULL, Реквизиты TEXT, ДатаСделки DATETIME);
14.
Предложение CONSTRAINTПростой индекс:
CONSTRAINT имя PRIMARY KEY (ключевое)| UNIQUE
(ключевое)
|
NOT
NULL
(непустое)|
REFERENCES
внешняяТаблица [(внешнееПоле_1, внешнееПоле_2)]}
Составной индекс:
CONSTRAINT имя PRIMARY KEY (ключевое_1[,
ключевое_2 [, ...]]) |
UNIQUE (уникальное_1[, уникальное_2 [, ...]]) |
NOT NULL (непустое_1[, непустое_2 [, ...]]) |
FOREIGN KEY (ссылка_1[, ссылка_2 [, ...]])
REFERENCES
внешняяТаблица
[(внешнееПоле_1
[,
внешнееПоле_2 [, ...]])]
15.
Примеры использования предложения CONSTRAINTCREATE TABLE Менеджеры (Имя TEXT, Фамилия TEXT,
ДатаРождения DATETIME,
CONSTRAINT
Index1
UNIQUE
(Имя,
Фамилия,
ДатаРождения));
CREATE TABLE Менеджеры (Имя TEXT, Фамилия TEXT,
ДатаРождения DATETIME,
CONSTRAINT PK PRIMARY KEY (Имя));
16.
Инструкция CREATE INDEXСинтаксис
CREATE [ UNIQUE ] INDEX индекс
ON таблица (поле [ASC|DESC][, поле [ASC|DESC], ...])
[WITH PRIMARY | DISALLOW NULL | IGNORE NULL ]
CREATE UNIQUE INDEX КодКл ON Клиенты
(КодКлиента) WITH DISALLOW NULL;
17.
Инструкция ALTER TABLEALTER TABLE таблица ADD COLUMN поле тип[(размер)] [NOT NULL]
| ADD CONSTRAINT индекс | ADD CONSTRAINT составнойИндекс |
DROP COLUMN поле | DROP CONSTRAINT имяИндекса
ALTER TABLE Сотрудники ADD COLUMN Оклад CURRENCY;
ALTER TABLE Сотрудники DROP COLUMN [Примечание1];
18. Инструкция DROP
DROP {TABLE таблица | INDEX индекс ONтаблица}
Пример
DROP TABLE Ученики;