У меня есть эти таблицы:SQL исключить строки без подзапроса
PERSON COURSE PERSON_COURSE
+----+----------+ +----+----------+ +------+------+
| ID | Name | | ID | Name | | P_ID | C_ID |
+----+----------+ +----+----------+ +------+------+
| P1 | Person 1 | | C1 | Course 1 | | P1 | C1 |
| P2 | Person 2 | | C2 | Course 2 | | P1 | C2 |
| P3 | Person 3 | | C3 | Course 3 | | P3 | C2 |
+----+----------+ +----+----------+ | P3 | C3 |
+------+------+
и я хочу, чтобы выбрать всех лиц, которые не посещают курс C1.
Поэтому я использую:
select p.id
from person p
where p.id not in (
select pc.p_id
from person_course pc
where pc.c_id != 'C1')
Теперь мне интересно, если это возможно, чтобы получить тот же результат без использования подзапроса.