- •Язык определения данных
- •Модификация структуры таблицы
- •Язык манипулирования данными
- •Insert into Факультет (аббревиатура, название)
- •Обновление данных
- •Простые запросы
- •Естественное соединение
- •Задания. Модификация структуры таблицы(1)
- •Задания. Ввод (добавление) данных в таблицу(2)
- •Insert into Студент (рег_номер, номер, фамилия)
- •Insert into Специальность (номер, направление, шифр)
- •Values ('11.11.11', 'Новая специальность', 'ис'); задания. Обновление данных. (5)
- •Задания. Простые запросы(13)
- •Задания. Естественное соединение
- •Задание. Декартово произведение
- •Задания. Запросы с подзапросами
Естественное соединение
Пример 37. Вывести эквисоединение таблиц «Кафедра» и «Специальность».
SELECT Кафедра.*, Специальность.*
FROM Кафедра, Специальность
WHERE Кафедра.шифр=Специальность.шифр;
Пример 38. Вывести данные о том, на каких кафедрах готовят специалистов по тем или иным направлениям (специальностям). Запрос выполнить на основе естественного соединения таблиц «Кафедра» и «Специальность».
SELECT факультет, Кафедра.шифр, название, номер, направление
FROM Кафедра, Специальность
WHERE Кафедра.шифр=Специальность.шифр;
Пример 39. Вывести данные о том, на каких кафедрах готовят специалистов по тем или иным направлениям (специальностям). Запрос выполнить на основе естественного соединения таблиц «Кафедра» и «Специальность» при помощи INNER JOIN.
SELECT факультет, Кафедра.шифр, название, номер, направление FROM Кафедра INNER JOIN Специальность ON Кафедра.шифр=Специальность.шифр;
Пример 40. Вывести из таблиц «Кафедра» и «Сотрудник» данные о факультетах, кафедрах, должностях и фамилиях заведующих кафедрами
SELECT факультет, Кафедра.шифр, должность, фамилия
FROM Кафедра, Сотрудник
WHERE Кафедра.шифр=Сотрудник.шифр AND должность = ‘зав. кафедрой’;
Пример 41. Вывести из таблиц «Кафедра», «Специальность» и «Студент» данные о студентах, которые обучаются на данном факультете (например, «ит»).
SELECT факультет, Кафедра.шифр, Специальность.номер, рег_но- мер, фамилия
FROM Кафедра, Специальность, Студент WHERE Кафедра.шифр=Специальность.шифр AND Специальность.номер=Студент.номер AND факультет= [Введите аббревиатуру факультета];
Пример 42. Вывести из таблиц «Кафедра», «Специальность» и «Сотрудник» данные о выпускающих кафедрах (факультет, шифр, название, фамилию заведующего). Выпускающей считается та кафедра, на которую есть ссылки в таблице «Специальность».
SELECT DISTINCTROW факультет, Кафедра.шифр AS [выпускающая кафедра], название, фамилия AS [заведующий кафедрой]
FROM Кафедра, Специальность, Сотрудник WHERE Кафедра.шифр=Сотрудник.шифр AND Кафедра.шифр=Специальность.шифр AND должность=’зав. кафедрой’;
Пример 43. Вывести в запросе для каждого сотрудника номер и фамилию его непосредственного руководителя.
SELECT Сотрудник.шифр, Сотрудник.таб_номер, Сотрудник.фа- милия, Сотрудник!..таб_номер, Сотрудник!..фамилия
FROM Сотрудник, Сотрудник Сотрудник!.
WHERE Сотрудник!..таб_номер = Сотрудник.шеф;
Пример 44. Вывести список студентов, сдавших хотя бы один экзамен. По правилам соединения студенты, не сдававшие экзамены, в выборке представлены не будут.
SELECT Студент.рег_номер, Студент.фамилия
FROM Студент INNER JOIN Экзамен
ON Студент.рег_номер = Экзамен.рег_номер;
Пример 45. Чтобы избавиться от дублей строк, комбинируемых из связанных таблиц, следует применить DISTINCTROW.
SELECT DISTINCTROW Студент.рег_номер, Студент.фамилия FROM Студент INNER JOIN Экзамен ON Студент.рег_номер = Экзамен.рег_номер;
Пример 46. Вывести (из таблиц «Студент» и «Экзамен») учетные номера («рег_номер»), фамилии («фамилия») студентов, а также количество сданных экзаменов (поле с именем «количество экзаменов» на основе функции COUNT (оценка)) и средний балл для каждого студента (поле с именем «средний балл» на основе функции AVG (оценка)) только для тех студентов, у которых средний балл не меньше заданного (например, 4).
SELECT Студент.рег_номер, фамилия, COUNT (оценка) AS [количество экзаменов], ROUND (AVG (оценка),2) AS [средний балл] FROM Студент INNER JOIN Экзамен ON Студент.рег_ номер=Экзамен.рег_номер
GROUP BY Студент.рег_номер, фамилия
HAVING AVG (оценка) > = [Введите граничную оценку];
ЗАДАНИЯ
ОТВЕТЫ МОГУТ БЫТЬ НЕ ВЕРНЫ
Я писала сама
Принимаю предложения по исправлению