
- •Тема 1 Проектирование базы данных
- •Тема 2 Проектирование структуры таблиц при использовании языка Transact-sql
- •Тема 3 Проектирование структуры таблиц при использовании case-средства erwin и консоли sql Server Management Studio
- •Тема 4 sql Server Management Studio
- •Тема 5 Выборка данных из бд
- •Тема 6 Объединение таблиц
- •Тема 7 Вложенные запросы
- •Тема 8 использование оператора exists, case, any и all
- •Тема 9 Запросы на добавление, удаление и изменение записей. Работа с тригирами и транзакциями
- •Тема 10 Проектирование клиентской части приложения
- •Тема 11 Создание отчетов
- •Тема 12 Создание справки и инсталляционного пакета
Тема 6 Объединение таблиц
Задание 1
Вывести фамилии, имена, отчества преподавателей, а так же название пцк и председателя пцк.
Код запроса:
Select фио,пцк,председатель from ПЦК,Преподаватели
Задание 2
Вывести название группы, классного руководителя, финансирование, аудиторию которая закреплена за группой и зав.кабинета, отсортировав по зав.кабинета.
Код запроса:
Select группа, классный_руководитель, финансирование,аудитория, руководитель FROM Аудитория,Группы WHERE Группы.код_аудитории= Аудитория.код_аудитории order by руководитель
Задание 3
Вывести название группы, классного руководителя, финансирование, все аудитории, даже если за ней не закреплена группа, и зав.кабинета, отсортировав по зав.кабинета.
Код запроса:
select группа, классный_руководитель, финансирование,аудитория, руководитель FROM Группы as a right join Аудитория as b on a.код_аудитории =b.код_аудитории order by руководитель
Задание 4
Вывести список групп, специальности и аудитории, закрепленные за группой, отсортировать по группе.
Код запроса:
select группа,a.название,аудитория from Аудитория,Группы,Специальности as awhere Группы.код_специальности=a.код and Аудитория.код_аудитории= Группы.код_аудитории order by группа
Задание 5
Вывести список групп, специальности и аудитории, закрепленные за группой, если специальность сокращенно «ТП», отсортировать по группе.
Код запроса:
select группа,a.название,аудиторияfromАудитория,Группы,Специальности as a
where Группы.код_специальности=a.код and Аудитория.код_аудитории=Группы.код_аудитории and группа like '%тп%'
order by группа
Задание 6
Выведите учебный план и соответствующие дисциплины.
Код запроса:
select * from Учебный_план as b left join Дисциплины as a on a.Код=b.Код_дисциплины
Задание 7
Вывести учебный план по дисциплине «РиЭУБД».
Код запроса:
select * from Учебный_план as a , Дисциплины as b where a.Код_дисциплины=b.Код and Для_подгруппы='РиЭУБД'
Задание 8
Вывести список лекций, если код специальности равен 2, курс равен 2, количество часов больше 50, выполнив обратную сортировку по наименованию дисциплин.
Код запроса:
select a.код_специальности, b.Курс,b.Тип_дисциплины,c.Полное, b.Количество_часов from Специальности as a,Учебный_план as b,Дисциплины as c where a.код_специальности=b.код_специальности and b.Код_дисциплины=c.Код and a.код_специальности=2 and b.Курс=2 and b.Количество_часов>50 order by полное desc
Задание 9
Вывести отсортированный список дисциплин, на которые не составлен учебный план.
Код запроса:
select distinct Полное from Дисциплины as a left join Учебный_план on Учебный_план.Код_дисциплины=a.Код where Курс is null
Задание 10
Вывести курс, семестр, тип дисциплины, количество часов, название дисциплины и специальности. Полученные записи отсортировать по количеству часов.
Код запроса:
select Курс, Семестр,Тип_дисциплины,Количество_часов,Полное,название from Учебный_план,Специальности,Дисциплины where Учебный_план.Код_дисциплины=Дисциплины.Код and Учебный_план.Код_специальности=Специальности.код_специальности
order by Количество_часов
Задание 11
Вывести список дисциплин преподаваемых для специальности 030503 на 6 семестре. Полученный список отсортировать по дисциплинам.
Код запроса:
select название,Полное from Дисциплины,Специальности,Учебный_план
where Учебный_план.Код_дисциплины=Дисциплины.Код and Учебный_план.Код_специальности=Специальности.код_специальности and Семестр=6 and Специальности.код=030503 order by Полное
Задание 12
Вывести не повторяющийся отсортированный список дисциплин и специальностей, при условии, что первая буква дисциплины может быть любой в промежутке алфавита от Т до Я, а последняя от А до С.
Код запроса:
select distinct Полное,Специальности.код from Специальности, Дисциплины,Учебный_план where Учебный_план. Код_дисциплины= Дисциплины.Код and Учебный_план.Код_специальности= Специальности.код_специальности and Полное like'Т-Я%А-С
Задание 13
Вывести отсортированный список групп, для которых не составлена тарификационная сетка.
Код запроса:
select группа from Тарификация as a right join Группы on a.Код_группы= Группы.код_группы where a.код_группы is null
Задание 14
Для всех групп выяснить, какие преподаватели будет вести у них дисциплины. Полученный список отсортировать по группам.
Код запроса:
select distinct группа,фио from Группы, Преподаватели,Тарификация Where Тарификация.Код_группы= Группы.код_группы and Тарификация. Код_преподавателя= Преподаватели.код_преподавателя order by группа
Задание 15
Если так получилось, что классный руководитель ведет дисциплины у своей группы, то вывести группу и классного руководителя.
Код запроса:
select distinct группа,классный_руководитель as ФИО from Группы, Преподаватели,Тарификация Where Тарификация.Код_группы= Группы.код_группы and Тарификация.Код_преподавателя= Преподаватели.код_преподавателя order by группа
Задание 16
Вывести список преподавателей, выяснив какие дисциплины он ведет, сколько часов отводится на каждую дисциплину, а так же тип дисциплины.
Код запроса:
select фио,Тип_дисциплины,Полное,Количество_часов from Учебный_план,Тарификация,Преподаватели,Дисциплины where Тарификация.Код_учебного_плана=Учебный_план.Код_учебного_плана and Тарификация.Код_преподавателя=Преподаватели.код_преподавателя and Учебный_план.Код_дисциплины=Дисциплины.Код
Задание 17
Вывести количество часов отводимых на разный тип занятий специальности 080110. Полученный список отсортировать по типу дисциплины.
Код запроса:
select Тип_дисциплины,sum(Количество_часов) as Кличество_часов from Учебный_план,Специальности where Учебный_план.Код_специальности= Специальности.код_специальности and код=080110 group by Тип_дисциплины
Задание 19
Выяснить для каких групп на курсовое проектирование выделили меньше времени.
Код запроса:
select группа,количество_часов from Учебный_план, Тарификация,Группы
where (Учебный_план.Тип_дисциплины='Курсовое проектирование') And Тарификация.Код_группы=Группы.код_группы and Тарификация. Код_учебного_плана= Учебный_план.Код_учебного_плана
order by группа