Помогите С Запросом Sql

Тема в разделе "SQL", создана пользователем sery80, 16 ноя 2014.

  1. sery80

    sery80 New Member

    Регистрация:
    15 ноя 2014
    Сообщения:
    1
    Симпатии:
    0
    Есть 4 таблицы:

    студенты
    Код (SQL):
    CREATE TABLE stud(
    id INTEGER NOT NULL PRIMARY KEY,
    fio varchar2(50) NOT NULL UNIQUE
    );
    преподаватели
    Код (SQL):
    CREATE TABLE teach(
    id INTEGER NOT NULL PRIMARY KEY,
    fio varchar2(50) NOT NULL UNIQUE
    );
    лекции
    Код (SQL):
    CREATE TABLE lect(
    stud INTEGER NOT NULL REFERENCES stud(id),
    teach INTEGER NOT NULL REFERENCES teach(id),
    subj varchar2(20) NOT NULL, -- изучаемый предмет
    lectdate TIMESTAMP NOT NULL, -- начало лекции
    lectdur INTEGER NOT NULL, -- длительность лекции в минутах
    room varchar2(20) NOT NULL
    );
    -- аудитория
    Если есть запись в этой таблице - значит студент был на лекции. Если хотя бы один студент был на лекции, лекция была. Все студенты из одной группы.


    Для продвинутого уровня:
    Таблица лабиринт
    Код (SQL):
    CREATE TABLE maze(
    room1 varchar2(20) NOT NULL,
    room2 varchar2(20) NOT NULL
    );
    если в таблице есть запись, значит между комнатой1 и комнатой2 есть проход.

    1.
    Вывести "журнал пропусков". Колонки: имя студента, "математика", "физика", "программирование", "экономика", "всего", "всего за посл. месяц". Строки - количество пропущеных лекций.
    2.
    Продвинутый уровень. Найти кратчайший путь в лабиринте из комнаты1 в комнату2, которые передаются как параметры запроса. НЕ PL/SQL! Один запрос на SQL.
     
    #1 sery80, 16 ноя 2014
    Последнее редактирование модератором: 23 фев 2015
Загрузка...

Поделиться этой страницей