STANDARD JOIN
- DBMS에도 여러가지 벤더(VENDER, 판매회사_MYSQL, MSSQL, MARIADB, PostgreQL 등)가 존재함. 문법 차이가 클 경우 호환성 이슈가 발생하는데 이때 표준이 되는 ANSI JOIN을 지정함. ANSI SQL(=STANDARD JOIN)는 벤더 상관없이 다 돌아가는 JOIN쿼리라고 생각하면 됨.
1. INNER JOIN
- ON절을 사용하여 JOIN해야함.
- ON절에 들어가는 조건은 교집합이어야함.
SELECT A.PRODUCT_CODE,
A.PRODUCT_NAME,
B.CONTENT,
B.REG.DATE
FROM PRODUCT A INNER JOIN PRODUCT_REVIEW B
ON A.PRODUCT_CODE = B.PRODUCT_CODE;
2. OUTER JOIN
1) LEFT OUTER JOIN
: 왼쪽에 표기된 테이블의 데이터는 무조건 출력되는 JOIN.
: 조인된 오른쪽 테이블에서 없는 데이터는 NULL로 출력.
2) RIGTH OUTER JOIN
: 오른쪽에 표기된 테이블의 데이터는 무조건 출력되는 JOIN.
: 조인된 왼쪽 테이블에서 없는 데이터는 NULL로 출력.
3) FULL OUTER JOIN
: 합집합 ( 왼쪽, 오른쪽 테이블 모두 출력_중복값은 제거)
3.NATURAL JOIN
- A테이블과 B테이블에서 같은 이름을 가진 컬럼들이 모두 동일한 데이터를 가지고 있을 경우(데이터 내용이 완전히 동일한 것만 조인됨.) JOIN되는 방식.
SELECT * FROM RUNNUNG_MAN A NATURAL JOIN INFINITE_CHALLENGE B;
4.CROSS JOIN
- 조합할 수 있는 모든 경우의 수를 출력하는 방법. (주사위 2번 굴려서 나올 수 있는 경우의 수 6가지 X 6가지 = 36가지 이런 식..)