쉬운 프로그래밍

[SQL] ANSI SQL이란? 본문

SQL/개념

[SQL] ANSI SQL이란?

쉬운형 2022. 1. 31. 16:00

ANSI SQL이란 무엇일까?

1. ANSI SQL 정의

ANSI, American National Standards Institute(미국 표준 협회)가 각기 다른 DBMS(Oracle, MySQL 등)에서 공통적으로 사용할 수 있도록 고안한 표준 SQL문 작성방법입니다.

2. ANSI SQL 사용 예시

-- ORACLE
SELECT a.name,
       b.name
FROM STUDENTS a,
     TEACHERS b
WHERE a.class_no = b.class_no

-- ANSI
SELECT a.name,
       b.name
FROM STUDENTS a JOIN TEACHERS b
      ON a.class_no = b.class_no

위 두 개의 쿼리는 같은 결과값을 출력하게 됩니다.

3. ANSI SQL의 장점

    - 표준 SQL 문법이기 때문에 거의 대부분 DBMS에서 작동이 가능합니다.

    - JOIN과 WHERE절이 분리되어 더욱 직관적으로 쿼리를 분석할 수 있다. 

4. ANSI SQL의 단점

    - DBMS 내부의 함수를 사용하는 경우 ANSI 문법만으로 쿼리 작성이 불가능한 경우가 있다.

5. ORACLE은 ANSI Syntax를 권장하지 않는다?

저도 어디선가 oracle은 ansi 문법을 사용하지 않는 것이 좋다는 소리를 들은 적이 있습니다.

이번 포스팅을 작성하면서 ANSI가 권장되지 않는 이유를 이래저래 찾아봤는데, 사실이 아니더군용!

아래 URL을 참고하시면 될 것 같습니다.

 

https://community.oracle.com/tech/developers/discussion/comment/13920448#Comment_13920448

 

Comments