입력과 검사
R = 수강(학번, 과목코드)
학생마다 가진 과목을 모아 S와 비교
001과 003은 두 과목을 모두 갖고, 002는 CS102가 빠집니다.
S = 필요한 과목 집합
CS101
CS102
S의 값이 하나라도 없으면 결과에서 제외됩니다.
| 학번 | R에서 발견한 과목 | S와 비교 | 판정 |
|---|---|---|---|
| 001 | CS101, CS102 | 누락 없음 | 포함 |
| 002 | CS101 | CS102 누락 | 제외 |
| 003 | CS101, CS102 | 누락 없음 | 포함 |
결과 집합
{001, 003}
조건 검사가 끝나면 왼쪽 릴레이션의 속성인 학번만 남깁니다.
왜 002는 빠질까?
S에 있는 CS102와 짝지어진 튜플이 없으므로 "모든 과목 수강" 조건을 만족하지 못합니다.
한 줄 해석
나눗셈은 빠진 조건이 없는 대상만 찾는 연산이며, SQL에서는 이를 `NOT EXISTS`의 이중 부정으로 표현합니다.