Отображение всех студентов с их оценками

Используйте LEFT JOIN от Students к Grades по student_id. Он сохранит учащихся без оценок и заполнит связанные поля значениями NULL.

Короткий ответ

Что ответить на собеседовании

Используйте LEFT JOIN от Students к Grades по student_id. Он сохранит учащихся без оценок и заполнит связанные поля значениями NULL.

Подробный разбор

Ответ с пояснениями

Условие

Составьте SQL‑запрос, который выведет список всех учащихся вместе с их оценками (имя студента, предмет, оценка). Если у студента отсутствуют оценки, он всё равно должен присутствовать в результате, а поля предмета и оценки будут иметь значение NULL.

В базе имеются две таблицы:

Students(id, name)
Grades(student_id, subject, grade)

Ответ

Используйте LEFT JOIN от Students к Grades по student_id. Он сохранит учащихся без оценок и заполнит связанные поля значениями NULL.

SELECT s.name, g.subject, g.grade
FROM Students s
LEFT JOIN Grades g ON g.student_id = s.id;

Студент с несколькими оценками получит несколько строк — по одной на запись Grades. Если нужно различать одноимённых студентов, добавьте s.id в результат. Условие на предмет, которое должно сохранять студентов без подходящих оценок, размещайте в ON, а не в WHERE. Порядок строк задаётся отдельным ORDER BY.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее