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

Примеры запросов с группировкой

SELECT Семестр, SUM(Количество_часов) AS 'Нагрузка' FROM [Учебный_план]

GROUP BY Семестр

SELECT Семестр, COUNT(*) AS 'Экзамены'

FROM [Учебный_план]

WHERE Отчетность = 'э'

GROUP BY Семестр

Ключевое слово ALL в разделе GROUP BY

SELECT Семестр, COUNT(*) AS 'Количество часов > 60'

FROM [Учебный_план] WHERE Количество_часов > 60 GROUP BY Семестр

SELECT Семестр, COUNT(*) AS 'Количество часов > 60'

FROM [Учебный_план] WHERE Количество_часов > 60 GROUP BY ALL Семестр

Раздел COMPUTE

COMPUTE <Функция_агрегирования> (<столбец_агрегирования>)}[,...,

n]

SELECT Наименование,[ BY <столбецСеместр, Количество_группировки>часов FROM[,...,nУчебный] ] _план, Дисциплины

WHERE (Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина) AND

(Семестр = 2) COMPUTE SUM

Использование команды SELECT...INTO

INTO <имя_новой_таблицы>

SELECT {<имя_столбца> [[AS] <псевдоним_столбца>] [, ...,

n] }

INTO <имя_новой_таблицы>

FROM {<имя_исходной_таблицы> [,..., n]}

SELECT ID_Студент, Адрес, Телефон

INTO Контакты

FROM Студенты

Работа с таблицей «Контакты»

SELECT *

FROM Контакты

WHERE Телефон LIKE '120%'

ALTER TABLE Контакта

ADD CONSTRAINT FK_Контакт

FOREIGN KEY (ID_Студент)

REFERENCES Студенты

SELECT *

FROM Студенты INNER JOIN Контакты ON Студенты.ID_Студент =

Контакты.ID_Студент

Вставка одной строки

INSERT [INTO] <имя_таблицы> [(<список_колонок>)]

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

INSERT Сводная_ведомость VALUES (10, 3, 5)

INSERT INTO Сводная_ведомость (ID_Дисциплина, ID_Студент)

VALUES (3, 10)

Команда INSERT

INSERT [ INTO] <имя_таблицы>

{[ (<список_колонок>) ]

{VALUES

( { DEFAULT | NULL | <выражение> } [, ..., n] ) | <результирующая_таблица>

}

}

| DEFAULT VALUES

Вставка результата запроса

INSERT INTO

<имя_таблицы>

SELECT

CREATE TABLE

Студент 2000

<выражение_запроса>

(ID_Студент_2000

INTEGER NOT NULL,

Фамилия

CHAR(30) NOT NULL,

Имя

CHAR(15) NOT NULL,

Отчество

CHAR(20) NOT NULL,

Адрес

CHAR(30),

Телефон

CHAR(8),

PRIMARY KEY

(ID_Студент_2000))

INSERT INTO Студент_2000

SELECT ID_Студент, Фамилия, Имя, Отчество, Адрес, Телефон FROM Студенты

WHERE Год_поступления = 2000

Вставка результата запроса

CREATE TABLE Преподаватель_дисциплина

(ID_Дисциплина

INTEGER NOT NULL,

ID_ПреподавательINTEGER NOT NULL,

Наименование

CHAR(20) NOT NULL,

Фамилия

CHAR(30) NOT NULL,

Имя

CHAR(15) NOT NULL,

Отчество

CHAR(20) NOT NULL,

Должность

CHAR(20) NOT NULL)

INSERT INTO Преподаватель_дисциплина

SELECT DISTINCT Дисциплины.ID_Дисциплина, Кадровый_состав.ID_Преподаватель, Наименование, Фамилия, Имя, Отчество, Должность

FROM Кадровый_состав, Учебный_план, Дисциплины

WHERE

Кадровый_состав.ID_Преподаватель = Учебный_план.ID_Преподаватель AND Дисциплины.ID_Дисциплина = Учебный_план.ID_Дисциплина

Изменение данных – команда UPDATE

UPDATE <имя_таблицы>

SET { <имя_колонки> = { <выражение> | DEFAULT | NULL }} [,...,n]

{ [ FROM { <имя_исходной_таблицы> } [,...,n] ]

[ WHERE <условие_отбора> ] } UPDATE Учебный_план

SET Количество_часов = Количество_часов + 2 WHERE (Отчетность= ‘э’)

SELECT *

FROM Учебный_план

WHERE (Отчетность= ‘э’) AND (Семестр = 1)

Соседние файлы в папке 3 курс Лекции БД