Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet.doc
Скачиваний:
1
Добавлен:
20.09.2019
Размер:
2.24 Mб
Скачать

Intersect

Возвращает все различные значения, входящие в результаты выполнения запросов, указанных как слева, так и справа от оператора INTERSECT.

<запрос1>

INTERSECT

<запрос2>

Запросы на создание Базы Данных и таблиц в ней:

CREATE DATABASE University

CREATE TABLE [dbo].[Audit](

[IDAud] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL,

[Kolv_mest] [numeric](18, 0) NULL,

[ID_cel] [int] NULL

)

CREATE TABLE [dbo].[Cel](

[IDCel] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](10) NULL

)

CREATE TABLE [dbo].[DayOfWeek](

[IDDay] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL

)

CREATE TABLE [dbo].[Disc](

[ID_disc] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL,

[Kol_chas] [numeric](18, 0) NULL

)

CREATE TABLE [dbo].[Dolzh](

[IDDolzh] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL

)

CREATE TABLE [dbo].[Group](

[IDGroup] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL,

[Chisl_stud] [numeric](18, 0) NULL,

[Chisl_podg] [numeric](18, 0) NULL,

[God_post] [date] NULL)

CREATE TABLE [dbo].[Kafed](

[IDKafed] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

CREATE TABLE [dbo].[Obuch](

[IDFobuch] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

CREATE TABLE [dbo].[Pair](

[IDPair] [int]PRIMARY KEY NOT NULL,

[start] [time](7) NULL,

[finish] [time](7) NULL)

CREATE TABLE [dbo].[PrePL](

[IDPrePL] [int]PRIMARY KEY NOT NULL,

[IDPrep] [int] NULL,

[IDUchPL] [int] NULL)

CREATE TABLE [dbo].[Prepod](

[IDPrep] [int]PRIMARY KEY NOT NULL,

[IDDolzh] [int] NULL,

[IDZvan] [int] NULL,

[IDKafed] [int] NULL,

[Family] [nchar](30) NULL,

[Name] [nchar](30) NULL,

[Surname] [nchar](30) NULL)

CREATE TABLE [dbo].[Raspisan](

[IDRasp] [int]PRIMARY KEY NOT NULL,

[IDPrePL] [int] NULL,

[IDDay] [int] NULL,

[IDroup] [int] NULL,

[IDPair] [int] NULL,

[IDAuditorium] [int] NULL)

CREATE TABLE [dbo].[Semestr](

[IDSemestr] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

CREATE TABLE [dbo].[Spec](

[IDSpec] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

CREATE TABLE [dbo].[Ucheb_Pl](

[IDUchPl] [int]PRIMARY KEY NOT NULL,

[IDdisc] [int] NULL,

[IDSpec] [int] NULL,

[IDVid] [int] NULL,

[IDFobuch] [int] NULL,

[IDSemestr] [int] NULL,

[God_stand] [date] NULL,

[Kol_par] [numeric](18, 0) NULL)

CREATE TABLE [dbo].[Vid_zan](

[IDVid] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

CREATE TABLE [dbo].[Zvan](

[IDZvan] [int]PRIMARY KEY NOT NULL,

[Naimen] [nchar](30) NULL)

После создания таблиц и связей между ними наша БД выглядит так:

Запрос выводит все поля в которых кол-во мест больше 20:

SELECT * FROM Audit WHERE Kolv_mest>20

Запрос обьеденяет 2 таблицы по условию что их ключевые поля равны

SELECT * FROM Kafed

INNER JOIN Prepod

ON Kafed.IDKafed = Prepod.IDPrep

Запрос обьеденяет 2 таблицы по условию что их ключевые поля равны и выравнивает поля по левой таблице

SELECT * FROM [dbo].[DayOfWeek]

LEFT OUTER JOIN [dbo].[Group]

ON [dbo].[DayOfWeek].[IDDay] = [dbo].[Group].[IDGroup]

Запрос обькденяет 2 таблицы по условию что их ключевые поля равны и выравнивает поля по правой таблице

SELECT * FROM Cel

RIGHT OUTER JOIN Pair

ON Cel.IDCel = Pair.IDPair

SELECT * FROM Semestr

CROSS JOIN Prepod

Запрос обьеденяет результаты 2-х запросов и одинаковые результаты выводит одним полем

SELECT * FROM Audit WHERE Kolv_mest>20

UNION

SELECT * FROM Audit WHERE Kolv_mest<20

Запрос обьеденяет результаты 2-х запросов и совпадающие поля выводит отдельно

SELECT * FROM Semestr WHERE Naimen>6

UNION ALL

SELECT * FROM Semestr WHERE Naimen>4

Запрос обьеденяет результаты 2х запросов и не выводит одинаковые результаты:

SELECT * FROM Audit WHERE Kolv_mest>15

EXCEPT

SELECT * FROM Audit WHERE Kolv_mest>20

Запрос обьеденяет результаты 2х запросов и выводит только одинаковые результаты:

SELECT * FROM Audit WHERE Kolv_mest>15

INTERSECT

SELECT * FROM Audit WHERE Kolv_mest>20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]