FlowerBombs
조인 ( JOIN ) 본문
조인
두 개 이상의 테이블에서 동시 데이터 검색
EQUI 조인
FROM 절에서 테이블을 콤마로 구분하고 WHERE절에서 조인 조건을 명시하여 두 개 이상의 테이블에서 동시 데이터 검색.
1 2 3 4 5 | SELECT {컬럼이름 [ as 별칭]~} FROM 테이블1, 테이블2, ..., 테이블n WHERE 조인조건 [ AND 검색조건 ] [ GROUP BY 컬럼이름] [ ORDER BY 컬럼이름 [정렬옵션] ] | cs |
- 추가적인 검색 조건은 조인 조건 뒤에 AND로 명시.
- from절에서 테이블 이름을 나열하면서 별칭 지정 가능.
- 두 개 이상의 테이블에서 같은 이름의 컬럼이 있을 경우
select에서 각 컬럼을 테이블이름.컬럼이름 혹은 별칭이름.컬럼이름 형태로 지정
1 2 3 4 | SELECT s.name, s.deptno, d.name FROM student s, department d WHERE s.deptno = d.deptno AND s.name='홍길동'; | cs |
INNER 조인
EQUI 조인의 다른 형태.
1 2 3 4 5 6 | SELECT {컬럼이름 [ as 별칭].. } FROM 테이블1 INNER JOIN 테이블2 ON 조인조건 [WHERE 검색조건 ] [GROUP BY 컬럼이름 ] [ORDER BY 컬럼이름 [정렬옵션] ] | cs |
↓
1 2 3 4 5 | SELECT {컬럼이름 [ as 별칭].. } FROM 테이블1, 테이블2, ..., 테이블n WHERE 조인조건 [ AND 검색조건 ] [GROUP BY 컬럼이름 ] [ORDER BY 컬럼이름 [정렬옵션] ] | cs |
1 2 3 4 | SELECT s.name, s.deptno, d.name FROM student s INNER JOIN department d ON s.deptno = d.deptno WHERE s.name='홍길동'; | cs |
OUTER조인
양쪽 테이블 중에서 어느 한 테이블의 모든 데이터를 출력해야 하는 경우 사용.(LEFT, RIGHT)
지정된 방향의 테이블에서 모든 데이터 출력을 보장한다.
1 2 3 4 5 6 | SELECT { 컬럭이름 [ as 별칭] ...} FROM 테이블1 LEFT OUTER JOIN 테이블2 ON 조인조건 [WHERE 검색조건 ] [GROUP BY 컬럼이름 ] [ORDER BY 컬럼이름 [정렬옵션] ] | cs |
1 2 3 4 | SELECT s.name, s.deptno, d.name FROM student s LEFT OUTER JOIN department d ON s.deptno=d.deptno WHERE s.name = '홍길동'; | cs |
Comments