SQL이란 무엇인가?
SQL(Structured Query Language, 구조화 질의어)은 비절차적(non-procedural) 언어입니다. 데이터베이스 엔진이 SQL 쿼리를 해석하여 데이터베이스 요소를 생성·수정·조회할 때 사용되며, Oracle, MySQL, PostgreSQL 등 다양한 관계형 데이터베이스(RDBMS)에서 사실상의 표준 언어로 활용됩니다.
T-SQL이란 무엇인가?
T-SQL(Transact-SQL)은 SQL을 절차적으로 확장한 언어로, Microsoft SQL Server에서 사용됩니다. 변수 선언, 조건문, 반복문 같은 절차적 프로그래밍 요소를 지원한다는 점에서 오라클의 PL/SQL과 유사한 역할을 수행합니다.
SQL과 T-SQL의 주요 차이점
다음 표는 SQL과 T-SQL의 핵심적인 차이점을 정리한 것입니다.
| 번호 | 구분 | SQL | T-SQL |
|---|---|---|---|
| 1 | 언어 유형 | 본질적으로 비절차적 언어입니다. | 본질적으로 절차적 언어입니다. |
| 2 | 제공 방식 | 데이터 조작 및 제어 기능을 제공합니다. | 지역 변수를 활용한 자체 프로시저와 함수를 작성할 수 있습니다. |
| 3 | 독점성 | 개방형 언어로 다양한 RDBMS 소프트웨어에서 공통적으로 사용됩니다. | SQL Server 전용 언어로 마이크로소프트의 독점 기술입니다. |
| 4 | 쿼리 실행 방식 | 여러 쿼리를 하나씩 순차적으로 제출합니다. | 여러 쿼리를 일괄(batch) 단위로 한 번에 제출할 수 있습니다. |
| 5 | 주요 기능 | DDL, DML, DQL 연산을 제공합니다. | SQL 기능 외에 트랜잭션 제어, 예외 처리 등의 추가 기능을 제공합니다. |
정리하면, SQL은 모든 관계형 데이터베이스에서 통용되는 표준 질의 언어이며, T-SQL은 SQL Server 환경에서 절차적 프로그래밍 기능을 더해 개발 생산성을 높인 확장 언어라고 할 수 있습니다. 따라서 SQL Server 기반 시스템을 개발한다면 T-SQL을 익히는 것이 필수적입니다.