JOIN / ORACLE 과 ANSI 의 차이점

동준1234 ㅣ 2024. 12. 20. 09:38

SQL 을 하다보면 다른 테이블에서 공통된 컬럼을 토대로 데이터를 뽑아야 할 일이 있는데, 이때 JOIN 절을 사용한다.

이때 공통된 데이터 = 외래키 라고 하며 JOIN절은 꼭 외래키가 있어야 사용할 수 있다. 간단하게 공통된 데이터를 다른 테이블에서 가져오려고 JOIN 을 사용한다고 생각하면 된다.

 

빨간색 박스가 쳐져 있는 게 외래키 이다.

JOIN 은 ORACLE 과 ANSI 전용 구문으로 나뉘어진다. 실제로는 ANSI 전용 구문을 많이 사용하는데, 그 이유는 가독성과 표준화, 기능확장 때문이다. ORACLE 에서는 WHERE 절로만 조건을 사용하지만 ANSI 는 JOIN 키워드를 명시적으로 사용한다. 별 차이 없어보이지만 실제로 코드를 작성하면 가독성의 차이가 크다. 

ORACLE
ANSI

오라클의 경우 JOIN 을 사용하지 않고 FROM 절에 2개의 테이블을 가져오고 WHERE 절에 외래키 값을 적는다.

하지만 ANSI 테이블에서는 DEPARTMENT 라는 테이블을 'JOIN' 한다 라는 명시성이 좋은 코드를 작성할 수 있다.

차이점