MySQL, Oracle 등 여러 종류의 SQL

코드잇

여러 종류의 SQL이 있다구요?

​

이전 글이었던 '데이터베이스와 DBMS, 그리고 SQL'에서는

​

(1) 데이터베이스를 다룰려면 DBMS라는 프로그램을 사용해야 하고,

(2) DBMS를 사용하려면 SQL이라는 언어의 사용법을 알아야한다

고 했습니다.

​

그런데 SQL을 배울 때, 많은 분들이 다음과 같은 말들을 듣고, 혼란을 느끼시곤 합니다.

'SQL은 한 번만 배워두면, 두고두고 사용할 수 있다'

'SQL 하나를 배웠다고 해도 끝난 게 아니다, 다른 DBMS를 사용하려면 또 다른 SQL을 배워야 한다'

등과 같은 말들이죠.

​

이 중 도대체 뭐가 정답인 걸까요? 답은 '둘다 맞다'입니다.

​

특정 DBMS를 사용할 수 있게 해주는 언어라면 모두 SQL이라고 할 수 있습니다. 그런데 이 SQL은 사실 국제적으로 공인된 표준이 존재합니다. 이 표준에는 SQL을 사용할 때 필요한 각종 데이터들의 타입과 SQL에서 사용되는 키워드들에 대한 설명이 담겨 있는데요.

​

각 DBMS들에서 지원하는 저마다의 SQL들은, 이 SQL 표준을 '대부분' 잘 준수해서 사용자들이 표준의 내용을 문제없이 사용할 수 있도록 지원하

고 있습니다.

​

그래서 DBMS마다 지원하는 SQL 문이 '거의 다 비슷'하고, 그래서 '하나의 DBMS로 배운 SQL을 다른 DBMS에서도 문제없이 그대로 잘 활용할 수 있다'는 말도 어느 정도 맞는 말입니다.

​

하지만 저는 방금 '거의 다 비슷'이라는 표현을 썼습니다. 이 부분이 중요한데요. 아무리 DBMS들의 SQL이 서로 비슷하다고 해도 어느 정도의 차이가 존재하기는 합니다.

​

좀 더 자세히 말하자면, DBMS마다

(1) SQL 표준을 준수하는 정도가 다르고,

(2) 같은 기능이라도 다른 구문을 사용해야한다거나,

(3) 지원하는 기능의 범위 자체가 차이가 난다거나 하는 식으로

​

SQL 문법 간에 일부 차이가 존재하는 것도 엄연한 사실입니다.

​

간단한 예를 살펴볼까요? 만약 SQL에서 값이 없음을 나타내는 NULL을 처리할 때 Oracle이라는 DBMS에서는 NVL이라고 하는 함수가 보통 쓰입니다. 하지만 MySQL이라는 DBMS에는 이런 함수는 없고, 대신 같은 역할을 하는 COALESCE라는 함수가 있습니다.

​

그리고 테이블에서 데이터를 조회하는 경우, 데이터 전부를 다 보는 게 아니라 원하는 몇 개만 추려야할 때, Oracle에서는 FETCH NEXT 5 ROWS ONLY 같은 구문을 써야하고, MySQL에서는 LIMIT이라는 간단한 구문을 사용하면 되죠.

​

세세한 부분들에서 이런 차이점들이 있기 때문에 한 DBMS의 SQL을 다 배웠다고 해서, 바로 다른 DBMS를 완벽하게 사용할 수 있는 것은 아니라는 말도 맞습니다.

​

그럼 SQL을 배워야하는 분들은 학습 방향을 어떻게 잡고 공부해야할까요? 일단은 하나의 DBMS에서 지원하는 SQL 문을 완벽하게 배우는 것이 중요합니다. 그 과정 속에서 SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 등과 같이 DBMS마다 거의 차이가 없는, 보편적인 SQL 구문들에 익숙해지고 그 과정 속에서 데이터베이스에 관한 여러 개념, 원리들을 잘 이해하는 것이 핵심입니다.

​

이렇게 하나의 DBMS를 통해 SQL로 할 수 있는 작업들이 무엇인지에 대한 감을 잡고 난 후에는 다른 DBMS의 SQL도 금방 배울 수 있습니다. 이미 한 DBMS를 능숙하게 사용할 줄 아는 상태에서는, 다른 DBMS라고 해도 그 SQL 문법이, 이미 알고 있는 SQL 문법과 거의 다 겹치고, 혹시 이전 DBMS와 다른 부분이 있더라도 이미 기본 개념과 원리를 숙지한 상태이기 때문에 스스로 새로운 정보를 검색하고 이해하는데 전혀 문제가 없습니다.

​

정리하면 결국 SQL을 일단 하나의 DBMS로 제대로 배우는 것이 가장 빠른 길이라는 뜻입니다.

코드잇에서는 이번에 MySQL이라는 DBMS를 통해 SQL을 배우는 토픽을 준비했습니다. 'SQL로 하는 데이터 분석'이라는 토픽인데요.

​

데이터베이스에 저장된 데이터를 조회하고 분석하기 위해 알아야하는 개념과, 세세한 실무 팁까지 배울 수 있습니다.

​

코드잇에서 SQL 데이터베이스 무료로 시작해보세요 :-)

​

​

기업문화 엿볼 때, 더팀스

로그인

/