RDBMS는 오라클, MySQL, SQL Server 등 다양한 회사에서 만듭니다. 만약 각자 자기들만의 언어로만 데이터를 뽑게 한다면, 개발자는 시스템이 바뀔 때마다 언어를 새로 배워야 하는 끔찍한 일이 발생합니다.
이 문제를 해결하기 위해 ANSI(미국 국립 표준 협회)에서 표준 SQL 규격을 제정했습니다. 이 표준만 익히면 어떤 회사의 DB를 쓰더라도 80~90% 동일한 문법으로 데이터를 조작할 수 있습니다.
💡 핵심 비유: 세계 공용어(영어)와 지역 방언(사투리)
표준 SQL은 전 세계 어디서나 통하는 공용어(영어)입니다. SELECT, FROM, WHERE 같은 뼈대가 여기에 속합니다. 하지만 각 DB 벤더마다 더 빠르고 편리한 자기들만의 특별한 함수나 문법을 추가로 제공하는데, 이를 방언(Dialect)이라고 합니다. (예: 오라클의 NVL, MySQL의 IFNULL)
🌐 표준 SQL과 방언의 조화
Script-1.sql
1
-- ANSI SQL 호환: COALESCE 함수는 거의 모든 RDBMS에서 지원합니다.
-- ORACLE 전용 함수인 NVL 대신 COALESCE를 사용해 봅니다.
SELECT USER_NAME,
COALESCE(NICKNAME, '(null) -> 무명') AS NICKNAME
FROM USERS;