7. Вывести id классов, у которых нет ни одного студента (без подзапросов)? #
"Есть 2 таблицы student и class
student:
id - автоинкрементный первичный ключ,
class_id - id класса в котором числится студент
class:
id - автоинкрементный первичный ключ
Нужно написать запрос для вывода id классов,
у которых нет ни одного студента еще.
Ограничения: Запрос надо написать без использования подзапросов."
Спойлеры к решению
Подсказки
🎯 Нужно выбрать классы, в которых нет студентов.
🔗 Таблицы
🛑 Важно отфильтровать те классы, у которых
📊 Используем
🔗 Таблицы
class и student связаны через class_id.🛑 Важно отфильтровать те классы, у которых
student.id IS NULL.📊 Используем
LEFT JOIN, чтобы увидеть классы без соответствий в student.Решение
SELECT c.id
FROM class c
LEFT JOIN student s ON c.id = s.class_id
WHERE s.id IS NULL;
📌 Объяснение:
LEFT JOIN– соединяет все классы и подставляетNULLвs.id, если студентов нет.WHERE s.id IS NULL– выбираем только те классы, в которых студентов нет.
✅ Готово! 🚀