Division

나눗셈은 기준 집합의 모든 값을 가진 대상만 찾습니다.

"모든 필수 과목을 들은 학생"처럼 빠진 조건이 하나도 없는 대상을 찾을 때 사용하는 관계 대수 연산입니다.

수강(학번, 과목) ÷ 필수과목(과목)

결과는 R에서 S의 속성인 과목을 제외한 속성, 여기서는 학번입니다.

필수과목 S를 모두 포함하는가?

후보 학생마다 수강 과목 집합을 S와 비교합니다.

DB OS NET
김철수
DB OS NET
통과
이영희
DB OS NET
제외
박민수
DB OS NET
통과

결과 R ÷ S

R에서 S의 속성인 과목을 뺀 결과, 여기서는 학번만 남습니다.

001
003

정확한 읽기

R(A, B) ÷ S(B)의 결과는 A입니다. 즉 S가 요구하는 B값을 모두 가진 A값만 반환합니다. 이름이 필요하면 이 결과를 학생 릴레이션과 다시 조인해 붙입니다.

SQL 감각

"수강하지 않은 필수과목이 없는 학생"을 찾는 흐름이라 NOT EXISTS를 두 번 겹쳐 표현합니다.