БАЗА ДАННЫХ MySQL — инструкция SQL для соединения соедините две таблицы, используя третью таблицу

#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 синтаксиса. Это затрудняет пропуск критериев объединения, особенно по мере увеличения запросов.