Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многотабличные запросы

Запрос 10

Вложенные запросы

Запрос 9

Запрос 8

БД Сессия. Для каждой дисциплины определить количество студентов, сдавших экзамен.

Запрос будет выглядеть следующим образом:

SELECT Дисциплина, COUNT (*) AS count

FROM s

GROUP BY Дисциплина

ORDER BY Дисциплина;

Результат запроса:

 

Дисциплина count
Иностр.язык  
История  
Математика  
Физика  
Экономика  
Электротехника  

БД НИР. В условиях предыдущего запроса вывести информацию, касающуюся только тех специалистов, которым производились начисления более одного раза.

Для вывода такой информации в текст предыдущего запроса необходимо добавить фразу having count (Начисления! > 1. И в этом случае весь запрос примет вид

SELECT ФИО, СОШТ (Начисления) AS count, SUM (Начисления) AS sum

FROM r

GROUP BY ФИО

HAVING COUNT(Начисления) > 1

ORDER BY ФИО,-

Результаты выполнения запроса представлены ниже.

 

ФИО count sum
Мехова И.И.    
Просов С.М.    
Семенов Т.Т.    
Чемцов Я.Ю.    

 

Стандарт языка позволяет в тело одного оператора select внедрять другой оператор select. Если внутренний оператор запроса помешен в предложения where и having внешнего оператора select, to создается ситуация вложенных запросов (подзапросов).

БД НИР. Вывести список платежей, где величина единовременных начислении превысила среднее значение.

Запрос будет выглядеть следующим образом:

SELECT ФИО, Этап, Начисления

FROM r

WHERE Начисления > (SELECT avg(Начисления) FROM r);

Результат запроса:

 

ФИО Этап Начисления (руб)
Просов С. М. Этап 1  
Чемцов Я.Ю. Этап 3  
Чемцов Я.Ю. Этап 4  
Яров И.М. Этап 4  

При работе с базами данных потребности пользователей не ограничиваются только реализацией простых запросов данных из одной таблицы. Во многих случаях для получения ответа на запрос необходимо объединить информацию из нескольких исходных таблиц. Для того чтобы осуществить такое объединение в результирующей таблице, необходимо выполнить операцию соединения, при которой объединение информации из двух таблиц происходит посредством образования пар связанных строк, выбранных из каждой таблицы. Таблицам можно присвоить имена-псевдонимы, что бывает полезно для осуществления операции соединения таблицы с самой собою и в ряде других ситуаций.

Если в операторе select указано более одного имени таблицы, неявно подразумевается, что над перечисленными таблицами осуществляется операции декартова произведения. Самый простой запрос select такого рода без необязательных частей выглядит следующим образом:

SELECT *

FROM rl, r2;

и соответствует декартову произведению таблиц r1 и r2.

Выражение

SELECT rl.A, r2.B

FROM rl, r2;

соответствует проекции декартова произведения двух таблиц на два столбца А из таблицы r1 и В из таблицы r2.

Рассмотрим базу данных, в которой хранится информация о производимых выплатах специалистам за проделанную работу по определенным этапам НИР. Пусть она состоит из трех отношений r1, r2 и r3. Будем считать, что они представлены таблицами r1, r2 и r3 соответственно.

 

R1 = (ФИО, Отдел);

R2 = (Отдел, Этап);

R3= (ФИО, Этап, Начисления).

 

r1 r2

ФИО Отдел   Отдел Этап
Семенов Т.Т.       Этап 1
Просов СМ.       Этап 2
Мехова И.И.       Этап 3
Чемцов Я.Ю.       Этап 3
Яров И.М.       Этап 4

 

 

r3

ФИО Этап Начисления (руб)
Семенов Т. Т. Этап 1  
Просов СМ. Этап 1  
Мехова И.И. Этап 1  
Семенов Т. Т. Этап 2  
Просов СМ. Этап 2  
Мехова И.И. Этап 2  
Просов СМ. Этап 3  
Мехова И.И. Этап 3  
Чемцов Я.Ю. Этап 3  
Чемцов Я.Ю. Этап 4  
Яров И.М. Этап 4  

 

Для запросов будет использоваться и расширенная база данных Сессия, представленная таблицами cо схемами:

S1 = (ФИО, Дисциплина, Оценка) — содержащей сведения о результатах сессии;

S2= (ФИО, Группа) — содержащей сведения о составе групп;

S3 = (Группа, Дисциплина) — содержащей перечень экзаменов, подлежащих сдаче.

 

s1

ФИО Дисциплина   Оценка
МурС.М. Физика    
Цуканов Т.Т. Физика    
Думская М.Т. Физика    
Дрозд Г.Р. Физика    
МурС.М. История    
Цуканов Т.Т. История    
Думская М.Т. История    
Цуканов Т.Т. Математика    
Думская М.Т. Математика    
Дрозд Г.Р. Математика "    
Петрова СО. Экономика    
Часов И.И. Электротехника    
Иванова Я. С. Электротехника    
Крисе P.O. Электротехника    
Часов И.И. Иностр_язык    
Иванова Я.С. Иностр_язьгк    
Часов И.И. Экономика    
Иванова Я.С. Экономика    
Крисе P.O. Экономика    
Фирсова Л.Р. Экономика    

s2 s3

ФИО Группа   Группа Дисциплина
МурС.М. 02-КТ-21   02-КТ-21 Физика
Цуканов Т.Т. 02-КТ-21   02-КТ-21 История
Думская М.Т. 02-КТ-21   02-КТ-21 Математика
Дрозд Г.Р. 02-КТ-21   02-КТ-12 Экономика
Петров С.О. 02-КТ-12   02-КТ-12 Электротехника
Часв И.И. 02-КТ-12   02-КТ-12 Иностр. язык
Иванова Я.С. 02-КТ-12      
Крисс Р.О. 02-КТ-12      
Фирсова Л.Р. 02-КТ-12      
<== предыдущая лекция | следующая лекция ==>
Запрос 7 | Операторы создания и удаления индексов
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 325; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.