www www
Искусственный Интеллект
(132986)
3 года назад
Ну начнем с начала
"*Выбрать из таблицы SUBJECT"
и где в ваших запросах, простите, таблица SUBJECT?
reikiЗнаток (258)
3 года назад
Названия не обязаны соответствовать так как у каждого таблицы названы по разному. Мы сначала спроектировали бд, потом нам дали эти задачи. Главное чтоб выводилось то что требуется. Он сам нам это говорил. В моем случае subject это таблица Предметы. exam_marks-таблица Успеваемость.
(поля Name и Hour), а из таблицы EXAM_MARKS выбрать оценку (MARK), полученную студентом (Surname и Name).*/
SELECT Фамилия, Имя, Успеваемость. [Сумма бал-лов], Предметы. [Название предмета]
FROM Студенты, Успеваемость, Предметы
WHERE Студенты. [Код студента] = Успеваемость. [Код студента]
AND Предметы. [Код предмета] = Успеваемость. [Код предмета];
SELECT Фамилия, Имя, Успеваемость. [Сумма бал-лов], Предметы. [Название предмета]
FROM Студенты
INNER JOIN Успеваемость ON Студенты. [Код студента] = Успеваемость. [Код студента]
INNER JOIN Предметы ON Успеваемость. [Код предмета] = Предметы. [Код предмета];
2. /*Вывести список названий предметов (поле Name) из таблицы SUBJECT, которые читаются любыми преподавателями,
кроме преподавателя ‘Дмитренко’ (поле Surname из таблицы LECTURER).*/
SELECT Предметы. [Название предме-та], Преподаватели. Фамилия, Преподаватели. Имя
FROM Предметы
INNER JOIN Преподаватели
ON Предметы. [Код преподавателя] = Преподаватели. [Код Преподавателя]
WHERE Преподаватели. Фамилия NOT LIKE '%Дмитренко%'
3. /*Вывести список названий предметов (поле Name из таблицы SUBJECT) и
баллы (поле Mark из таблицы EXAM_MARKS), которые были по-ставлены студентам с кодами
3, 7, 9, 11 (условие по полю Student_ID из таблицы EXAM_MARKS).*/
SELECT Студенты. [Код студента], Студенты. Фамилия, Предме-ты. [Название предмета], Успеваемость. [Сумма баллов]
FROM Успеваемость
INNER JOIN Студенты ON Успеваемость. [Код студента] = Студенты. [Код студента]
INNER JOIN Предметы ON Успеваемость. [Код предмета] = Предметы. [Код предмета]
WHERE Студенты. [Код студента] IN(3,7,9,11)
4. /*Вывести список предметов (поле Name таблицы SUBJECT), которые читает
преподаватель ‘Бондаренко’ (условие по полю SurName таблицы LECTURER). */
SELECT Предметы. [Название предмета], Преподаватели. Фамилия
FROM Преподаватели
INNER JOIN предметы ON Преподаватели. [Код Преподавателя] = Предметы. [Код преподавателя]
WHERE Преподаватели. [Фамилия] LIKE 'Бондаренко'
5./*Вывести количество лет с момента рождения студента (использовать поле
Birthday), фамилии и имена соответствующих студентов. */
SELECT Студенты. Фамилия, DATEDIFF(year, Студенты. [Дата рождения], SYSDATETIME())AS Возраст
FROM Студенты
6./* Вывести все сведения о студенте (все значимые поля таблицы STUDENT), а также название предмета
(поле Name таблицы SUBJECT) с максимальной полученной им оценкой (поле Mark). */
SELECT Студенты. [Код студента], Студен-ты. Фамилия, Студенты. Имя, Студенты. Отчество, Студенты. [Дата рождения], Студенты. [Адрес], Студенты. [Код города],
Студенты. [Код группы], Студенты. Телефон, MAX(Успеваемость. [Сумма баллов]) AS [Максимальный балл]
FROM Успеваемость
INNER JOIN Студенты ON Успеваемость. [Код студента] = Студенты. [Код студента]
INNER JOIN Предметы ON Успеваемость. [Код предмета] = Предметы. [Код предмета]
GROUP BY Студенты. [Код студента], Студен-ты. Фамилия, Студенты. Имя, Студенты. Отчество, Студенты. [Дата рождения], Студенты. [Адрес], Студенты. [Код города],
Студенты. [Код группы], Студенты. Телефон
7./* Вывести список студентов (поле SurName), возраст которых меньше заданного пользователем
(условие с использованием поля Birthday).*/
Скрипт:
SELECT Студенты. Фамилия, DATEDIFF(year, Студенты. [Дата рождения], SYSDATETIME())AS Возраст
FROM Студенты
WHERE DATEDIFF(year, Студенты. [Дата рождения], SYSDATETIME()) < 25