Формулировка запроса SQL

210
26 марта 2019, 15:00

Есть две таблицы в одной БД group и student, задача стоит вытащить группы в которых нет студентов, в таблице student есть столбец groupID который обозначает айдишник группы, когда я пытаюсь вытянуть таким образом

SELECT `group`.Number FROM `group`, `student` WHERE student.GroupID <> `group`.`ID`

Сервер возвращает вообще все группы да еще и дублирует их (номера групп), как можно реализовать решение?

Answer 1

С помощью LEFT JOIN

SELECT * FROM `group`
LEFT JOIN student
ON `student`.`GroupID` = `group`.`ID`
WHERE `student`.`GroupID` IS NULL
Answer 2
select Number from group where ID not in (select GroupId from student group by GroupId);
READ ALSO