#mysql #database
Вопрос:
Я немного сбит с толку этим вопросом. в нем запрашивается следующее: «Создайте единую инструкцию SQL, которая будет отображать все столбцы из таблиц «Студент» и «профессор». Вам нужно будет использовать таблицу student_professor для настройки соединений.»
Обычно это не было бы сложно в условиях, когда всего 2 таблицы используют связанный столбец, но это просит меня использовать 3-ю таблицу?
Вот эти таблицы
professor
, student
, student_professor
Колонки для «профессора»
ProfessorId
, ProfessorProgram
, PhoneNo
, Age
, ProfessorName
Колонки для «студент»
studentno
, studentprogram
, phoneno
, age
, firstname
, lastname
Столбцы для «student_professor»
student_professor_id
, ProfessorId
, StudentNo
, Mentor
Ответ №1:
Не проверено, но это должно помочь вам начать:
SELECT s.*, p.*
FROM professor p, student s, student_professor sp
WHERE sp.professorId = p.proffesorId
AND sp.studentNo = s.studentNo
ORDER BY p.ProfessorName, s.lastname, s.firstname
или
SELECT s.*, p.*
FROM professor p
JOIN student_professor sp ON sp.professorId = p.proffesorId
JOIN student s ON sp.studentNo = s.studentNo
ORDER BY p.ProfessorName, s.lastname, s.firstname
Комментарии:
1. Рекомендую придерживаться второго
JOIN
синтаксиса. Это затрудняет пропуск критериев объединения, особенно по мере увеличения запросов.