SELECT s.studno, s.name, s.deptno, d.dname
FROM student s, department d
WHERE s.deptno = d.deptno
student.deptno처럼 테이블명.칼럼명 구조로. FROM student AS s면 s.deptno로 처리 가능. 여기서 AS는 생략해서 FROM student s로도 가능.WHERE을 생략하면 발생하고, CROSS JOIN으로도 실행 가능. SELECT s.name, s.deptno, d.dname, d.loc
FROM student s, department d;
SELECT s.name, s.deptno, d.dname, d.loc
FROM student s CROSS JOIN department d;
SELECT s.studno, s.name, s.deptno, d.dname
FROM student s, department d
WHERE s.deptno = d.deptno;
NATURAL JOIN 키워드 사용 => 자동적으로 테이블의 모든 칼럼을 대상으로 공통 칼럼을 조사 => 내부적으로 생성SELECT s.studno, s.name, s.deptno, d.dname, deptno
(deptno로 합쳐질 것이기 때문에 이것만 별명 X)
(별명 적용하면 오류 뜬다)
FROM student s NATURAL JOIN department d;
SELECT s.studno, s.name, deptno, d.name
(마찬가지로 deptno로 합쳐질 것이기에 별명 X)
FROM student s
JOIN department d
USING (deptno);
SELECT s.studno, s.name, s.deptno, d.name
FROM student s
INNER JOIN department d
ON s.deptno = d.deptno;
SELECT p.profno, p.name, p.sal, s.grade
FROM professor p, salgrade s
WHERE p.sal BETWEEN s.losal AND s.hisal
AND p.deptno = 101;
1: p.profno(+)이기 때문에, 학생쪽이 기준 => 지도교수가 없는 학생들 출력
SELECT s.name, s.grade, p.name, p.position
FROM student s, professor p
WHERE s.profno = p.profno(+)
ORDER BY p.profno;

2: s.profno(+)이기 때문에, 교수쪽이 기준 => 지도학생이 없는 교수들 출력
SELECT s.name, s.grade, p.name, p.position
FROM student s, professor p
WHERE s.profno(+) = p.profno
ORDER BY p.profno;

위의 1번
SELECT s.name, s.grade, p.name, p.position
FROM student s
LEFT OUTER JOIN professor p
ON s.profno = p.profno
ORDER BY p.profno;
위의 2번
SELECT s.name, s.grade, p.name, p.position
FROM student s
RIGHT OUTER JOIN professor p
ON s.profno = p.profno
ORDER BY p.profno;
SELECT c.deptno, c.dname, c.college, d.dname college_name
FROM department c, department d
WHERE c.college = d.deptno;
SELECT c.deptno, c.dname, c.college, d.dname college_name
FROM department c
JOIN department d
ON c.college = d.deptno;