티스토리 뷰
SQL
SQL(Structed Query Language)
- 초기엔 데이터를 관리하는 방법은 DBMS 제조사마다 상이 - 이식성 등이 좋지 않음
- 데이터를 관리하는 표준언어의 필요성에 탄생한 것이 SQL
- 쿼리(Query)는 "질의"라는 뜻으로, DBMS에 요청한다는 의미
- 보통 에스큐엘이라고 읽지만, 사람에 따라 시퀄이라고 읽는 사람도 있음
SQL의 역사
1970년 IBM의 시스템 R에 도입한 SEQUEL(Structed English Query Language) 가 시초
- 자연어랑 유사하단 의미로 English를 넣었음
- 이후 상표권 분쟁때 English를 빼서 구조화된 질의 언어(SQL; Structed Query Language)로 이름 변경
SQL 표준 / 방언
- ANSI라는 국제 표준단체에서 SQL 표준을 제정
| SQL 86 | ANSI에서 제정한 최초 표준 |
| SQL 92 | 대규모 개정 및 정리, 실질적 첫 표준 |
| SQL 99 | 정규표현식, 트리거, 절차적 흐름 |
| SQL 2003 | XML 관련 기능 추가, 시퀀스 생성기, MERGE 구문 추가 |
| SQL 2008 | INSTEAD OF 트리거 추가, TRUNCATE 구문 추가 |
| SQL 2011 | 임시 데이터베이스 지원 |
| SQL 2016 | JSON 지원, 행 패턴 인식, DECFLOAT 타입 추 |
- 실질적 표준은 SQL99로, 이후에 추가된 건 대부분 고급 기능들
- SQL은 다른 표준과 달리 강제성이 약하고 표준이 반드시 우월하진 않기 때문에 DBMS마다 방언(dialect)가 존재
- 대부분의 기본 명령어는 표준 SQL에 기반한 명령어를 채용하였음
- 오라클은 곻유의 고급기능 및 프로그래밍 기능이 있는 PL/SQL 지원
- SQL Server은 자체적인 TSQL(Transact SQL)을 지원
SQL 특징
SQL은 여타의 프로그래밍 언어와 마찬가지로 고유의 문법체계를 가지고 있음
자연어까진 아니지만 최대한 비슷한 문법 형식을 지녀, 초보자도 익숙해지기 쉬움
대화식 언어
- SQL은 대화처럼 명령을 내리는 즉시 실행하여 결과를 돌려줌

- 명령문이 짧고 간결한 대신, 간단한 명령어를 조합하여 복잡한 작업 처리
- 당연히 현업에선 조합된 결과물이 몇십~몇백줄이 되는 경우도 있음 (간단하다는 말을 믿지마라)
- 자체 제어문은 빈약하기 때문에 다른 프로그래밍/스크립트 언어랑 조합해서 사용하기도 함
선언적 언어
- SQL은 요구사항만 명시할 뿐 구체적으로 어떻게 수행하는지는 중요하지 않음

- 명령의 실제 수행방식은 DBMS가 알아서 결정
※ 최종 수정일 : 2025-01-24
'SQL > SQL' 카테고리의 다른 글
| [SQL/초보] RDBMS의 기본 용어 (7) | 2025.01.24 |
|---|---|
| [SQL/초보] DB와 DBMS란 (5) | 2025.01.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SQL
- Java
- DB
- 테이블
- DBMS
- SQL이란
- APS
- oracle
- 자료구조
- db오브젝트
- 데이터베이스
- 배열
- Scanner
- db의 역사
- BufferedWriter
- 레코드
- 필드
- dialect
- 입출력
- StringBuilder
- BufferedReader
- 알고리즘
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
글 보관함