2014-11-08 2 views
0

Какого запросом SQL я мог бы написать satisfiy этой потребности: «Список имен студентов, которые берут курс от инструктора по имени Джон»написания SQL запросы между таблицами

schema

+0

Вы можете ссылаться на атрибуты из разных таблиц, используя '.' ex: 'select Student.FirstName, Instructor.FirstName' и т. д. –

+0

Выполняйте домашнее задание !! – Mihai

ответ

1

Не уверен, что вы можете, от изображаемых отношений.

Вы можете определить тип преподавателей, выбрав из списка: InstructorID и фильтруя по инструктору.FirstName.

Вы можете присоединиться к этому подмножество на курс, через InstructorCourses Join Table - присоединиться к InstructorID к этому и присоединиться результат к курсов с использованием CourseID

Таким образом, Instructor.InstructorID -> (InstructorCourses.InstructorID, InstructorCourses.CourseID) -> Курсы.CourseID.

Это позволяет вам находить информацию о курсах, которые преподаватели инструктировали по их имени.

Вы не представляете никакой связи между студентами и курсами на диаграмме. Я подозреваю, что вам не хватает отношения StudentCourses, который должен быть похож на InstructorCourses, а скорее связывает студентов с курсами. С этими данными в миксе вы можете расширить соединение, чтобы соответствовать студентам на курсах из отношений, которые у вас уже есть.

Ваша схема подразумевает связь между Student и InstructorCourses, что кажется неправильным - и потому, что нет ключа, чтобы присоединиться на, а также потому, что логическая связь не будет правильной. Я думаю, что это, вероятно, ошибка.

0

Невозможно удовлетворить запрошенный SQL-запрос, потому что ваша концепция не позволяет этого в том, что между двумя таблицами нет Student и InstructorCourses.

Смежные вопросы