Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Оператор выборки Select

Содержание

ВведениеSQL = DDL(Data definition Lang) + DML (Data Manipulation Lang) DDL: CREATE, ALTER, DROP DML: SELECT, INSERT, UPDATE, DELETE
Оператор выборки SelectЛекция №4Бутенко И.В. 2017 год ВведениеSQL = DDL(Data definition Lang) + DML (Data Manipulation Lang) DDL: CREATE, ТаблицыТаблица – специальный тип данных, который может использоваться для сохранения данных для ПримерCREATE TABLE students(    id    int identity(1,1) ОпределениеОператор выборки SELECT извлекает информацию из базы данных и возвращает ее в Общий вид SELECTSELECT [ALL | DISTINCT] 	[INTO [new_table_name]] [FROM {} […,][WHERE ] Возможности SELECT 1select * from studentsselect name, lastname, birthday from studentsselect lastname Возможности SELECT 2select lastname as 'Фамилия', isnull(convert(varchar,birthday,103),'???') 'Дата рождения' from studentsselect avg(mark) Возможности SELECT 3select * from marks where mark < 3select * from Возможности SELECT 4select * from students where birthday is null select * Расширенные возможности 1GROUP BY организует группы данныхгруппировка выполняется по столбцуиспользуются с функциями Расширенные возможности 2select stud_id, avg(convert(decimal(5,2),mark)) from marks group by stud_idselect stud_id, avg(convert(decimal(5,2),mark)) Выборка с подзапросом 1Подзапрос в блоке WHERE ссылается на внешнюю таблицуПодзапрос выполняется Выборка с подзапросом 2select * from students s where exists (select * Многотабличная выборка 1select m.mark, s.lastname from marks m join students s on CROSS JOIN 1Декартово произведение двух таблиц представляет собой таблицу (называемую таблицей произведения), CROSS JOIN 2 INNER JOIN 1При этом типе связывания каждая из 2х участвующих в связывании INNER JOIN 2 LEFT OUTER JOIN 1При этом типе связывания в левой таблице будут оставлены LEFT OUTER JOIN 2 RIGHT OUTER JOIN 1При этом типе связывания в правой таблице будут оставлены RIGHT OUTER JOIN 2 FULL OUTER JOIN 1Этот тип связывания разрешает использование всех строк связываемых таблиц. FULL OUTER JOIN 2 Создание таблицselect * into #stud from students where birthday > '01/01/1985'select * from #stud
Слайды презентации

Слайд 2 Введение
SQL = DDL(Data definition Lang) + DML (Data

ВведениеSQL = DDL(Data definition Lang) + DML (Data Manipulation Lang) DDL:

Manipulation Lang)

DDL: CREATE, ALTER, DROP
DML: SELECT, INSERT,

UPDATE, DELETE

Слайд 3 Таблицы
Таблица – специальный тип данных, который может использоваться

ТаблицыТаблица – специальный тип данных, который может использоваться для сохранения данных

для сохранения данных для дальнейшей обработки.

Ограничения запрещают вносить в

таблицу недопустимые данные.

Ключом называется множество атрибутов, задание значений которых позволяет однозначно определить значения остальных атрибутов.


Слайд 4 Пример
CREATE TABLE students
(
id

ПримерCREATE TABLE students(  id  int identity(1,1) PRIMARY KEY,	name

int identity(1,1) PRIMARY KEY,
name varchar(30)

not null,
lastname varchar(30) not null,
birthday datetime null
)

CREATE TABLE subjects
(
id int identity(1,1),
name varchar(30) not null,
hours smallint null
)

CREATE TABLE marks
(
stud_id int FOREIGN KEY REFERENCES students (id),
subj_id int,
ddate datetime default getdate(),
mark tinyint CHECK (mark > 1 and mark <= 5)
)


Слайд 5 Определение
Оператор выборки SELECT извлекает информацию из базы данных

ОпределениеОператор выборки SELECT извлекает информацию из базы данных и возвращает ее

и возвращает ее в виде таблицы результатов запроса (производит

выборку строк и столбцов из таблиц).

Слайд 6 Общий вид SELECT
SELECT [ALL | DISTINCT]
[INTO

Общий вид SELECTSELECT [ALL | DISTINCT] 	[INTO [new_table_name]] [FROM {} […,][WHERE

[new_table_name]]
[FROM {} […,]
[WHERE ]
[GROUP BY

list>]
[HAVING < search condition>]
[ORDER BY ]

Слайд 7 Возможности SELECT 1
select * from students
select name, lastname,

Возможности SELECT 1select * from studentsselect name, lastname, birthday from studentsselect

birthday from students
select lastname as 'Фамилия', birthday 'Дата рождения'

from students
select 'Студент: ' + name + ' ' + lastname from students

Слайд 8 Возможности SELECT 2
select lastname as 'Фамилия', isnull(convert(varchar,birthday,103),'???') 'Дата

Возможности SELECT 2select lastname as 'Фамилия', isnull(convert(varchar,birthday,103),'???') 'Дата рождения' from studentsselect

рождения' from students
select avg(mark) from marks (abs, sign, sqrt,

round)
select ddate, getdate() curdate, datediff(d, ddate, getdate()) diff from marks

Слайд 9 Возможности SELECT 3
select * from marks where mark

Возможности SELECT 3select * from marks where mark < 3select *

< 3
select * from marks where ddate between '30/04/2010'

and '01/06/2010'
select * from students where lastname like 'П%' or name like ‘М____'

Слайд 10 Возможности SELECT 4
select * from students where birthday

Возможности SELECT 4select * from students where birthday is null select

is null
select * from students order by lastname

asc, birthday desc
select lastname + ' ' + left(name,1) name from students where birthday is null
Union select name from subjects where hours is null


Слайд 11 Расширенные возможности 1
GROUP BY организует группы данных
группировка выполняется

Расширенные возможности 1GROUP BY организует группы данныхгруппировка выполняется по столбцуиспользуются с

по столбцу
используются с функциями группировки
образует одно значение для группы
HAVING

фильтрует группы по условию
можно использовать по столбцу или выражению
то же самое, что и блок WHERE
COMPUTE
Образует общие итоговые значения.


Слайд 12 Расширенные возможности 2
select stud_id, avg(convert(decimal(5,2),mark)) from marks group

Расширенные возможности 2select stud_id, avg(convert(decimal(5,2),mark)) from marks group by stud_idselect stud_id,

by stud_id
select stud_id, avg(convert(decimal(5,2),mark)) from marks group by stud_id

having avg(convert(decimal(5,2),mark)) >= 4
select * from marks where ddate > '01/10/2010' compute max(mark)

Слайд 13 Выборка с подзапросом 1
Подзапрос в блоке WHERE ссылается

Выборка с подзапросом 1Подзапрос в блоке WHERE ссылается на внешнюю таблицуПодзапрос

на внешнюю таблицу
Подзапрос выполняется однократно для каждой строки внешнего

запроса
Если в подзапросе условие выполняется, то внешний запрос выдает строку


Слайд 14 Выборка с подзапросом 2
select * from students s

Выборка с подзапросом 2select * from students s where exists (select

where exists (select * from marks m where m.stud_id

= s.id)
select * from marks main where ddate = (select max(ddate) from marks sub where main.stud_id = sub.stud_id)


Слайд 15 Многотабличная выборка 1
select m.mark, s.lastname from marks m

Многотабличная выборка 1select m.mark, s.lastname from marks m join students s

join students s on m.stud_id = s.id

Старый синтаксис:
select m.mark,

s.lastname from marks m, students s where m.stud_id = s.id

Слайд 16 CROSS JOIN 1
Декартово произведение двух таблиц представляет собой

CROSS JOIN 1Декартово произведение двух таблиц представляет собой таблицу (называемую таблицей

таблицу (называемую таблицей произведения), состоящую из всех возможных пар

строк обеих таблиц. Столбцами таблицы произведения являются все столбцы первой таблицы, за которыми следуют все столбцы второй таблицы.

Слайд 17 CROSS JOIN 2

CROSS JOIN 2

Слайд 18 INNER JOIN 1
При этом типе связывания каждая из

INNER JOIN 1При этом типе связывания каждая из 2х участвующих в

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

строки, для которых есть соответствие во второй таблице.

Слайд 19 INNER JOIN 2

INNER JOIN 2

Слайд 20 LEFT OUTER JOIN 1
При этом типе связывания в

LEFT OUTER JOIN 1При этом типе связывания в левой таблице будут

левой таблице будут оставлены все строки независимо от того,

есть ли для них соответствие в правой таблице.

Слайд 21 LEFT OUTER JOIN 2

LEFT OUTER JOIN 2

Слайд 22 RIGHT OUTER JOIN 1
При этом типе связывания в

RIGHT OUTER JOIN 1При этом типе связывания в правой таблице будут

правой таблице будут оставлены все строки независимо от того,

есть ли для них соответствие в левой таблице.

Слайд 23 RIGHT OUTER JOIN 2

RIGHT OUTER JOIN 2

Слайд 24 FULL OUTER JOIN 1
Этот тип связывания разрешает использование

FULL OUTER JOIN 1Этот тип связывания разрешает использование всех строк связываемых

всех строк связываемых таблиц. Можно представить этот тип связывания

как одновременное применение типов LEFT и RIGHT (что не разрешено).

Слайд 25 FULL OUTER JOIN 2

FULL OUTER JOIN 2

  • Имя файла: operator-vyborki-select.pptx
  • Количество просмотров: 119
  • Количество скачиваний: 0