Natural Join
Outer Join
합집합. 다른 relation의 tuple과 맞지 않아도 추가한다.
정보의 손실을 막는다.
Left Outer Join
Right Outer Join
FULL OUTER JOIN
SELECT *
FROM course NATURAL FULL OUTER JOIN prereq;
FULL —> UNION
SELECT course_id, title, dept_name, credits, prereq_id
FROM course NATURAL LEFT OUTER JOIN prereq
UNION
SELECT course_id, title, dept_name, credits, prereq_id
FROM course NATURAL RIGHT OUTER JOIN prereq;
Inner Join
INNER ↔ OUTER
unrelated attributes with same name
Correct
SELECT name, title
FROM student NATURAL JOIN takes, course
WHERE takes.course_id = course.course_id;
Incorrect
SELECT name, title
FROM student NATURAL JOIN takes NATURAL JOIN course;