Where
JOIN
GROUP BY
LIMIT/OFFSET (또는 TOP)
SQL은 Structured Query Language의 약자로, 데이터베이스와 소통하기 위해 사용하는 표준 언어입니다. 쉽게 말해, 우리가 컴퓨터에게 "데이터베이스에서 이런 정보를 찾아줘" 또는 "이 데이터를 이렇게 바꿔줘"라고 명령할 때 사용하는 문법과 규칙의 집합이라고 할 수 있습니다.
SQL의 주요 특징과 역할
SQL은 주로 **관계형 데이터베이스 관리 시스템(RDBMS)**에서 데이터를 관리하고 조작하는 데 사용됩니다. RDBMS의 예시로는 MySQL, PostgreSQL, Oracle, SQL Server 등이 있습니다.
SQL이 할 수 있는 주요 역할은 다음과 같습니다:
- 데이터 조회 (Querying Data):
- 데이터베이스에 저장된 정보를 검색하고 가져오는 가장 기본적인 기능입니다.
- 예시: 특정 조건에 맞는 고객 목록을 가져오기 (
SELECT)
- 데이터 조작 (Manipulating Data - DML: Data Manipulation Language):
- 데이터베이스 내의 데이터를 추가, 수정, 삭제하는 데 사용됩니다.
INSERT: 새로운 데이터를 테이블에 추가합니다.
UPDATE: 기존 데이터를 수정합니다.
DELETE: 특정 데이터를 삭제합니다.
- 데이터 정의 (Defining Data - DDL: Data Definition Language):
- 데이터베이스의 구조(테이블, 인덱스 등)를 생성, 수정, 삭제하는 데 사용됩니다.
CREATE: 새로운 데이터베이스 객체(테이블, 뷰 등)를 만듭니다.
ALTER: 기존 데이터베이스 객체의 구조를 변경합니다.
DROP: 데이터베이스 객체를 삭제합니다.
- 데이터 제어 (Controlling Data - DCL: Data Control Language):
- 데이터베이스에 대한 접근 권한을 관리하는 데 사용됩니다.
GRANT: 사용자에게 특정 권한을 부여합니다.
REVOKE: 사용자로부터 부여했던 권한을 회수합니다.
- 트랜잭션 제어 (Controlling Transactions - TCL: Transaction Control Language):
- 데이터 조작 작업의 논리적 단위를 관리하여 데이터 무결성을 보장합니다.
COMMIT: 트랜잭션의 변경 사항을 데이터베이스에 영구적으로 저장합니다.
ROLLBACK: 트랜잭션의 변경 사항을 취소하고 이전 상태로 되돌립니다.
왜 SQL을 사용할까요?
- 표준화: SQL은 국제 표준(ISO)으로 지정되어 있어, 대부분의 관계형 데이터베이스에서 유사한 문법으로 사용할 수 있습니다. 이는 개발자가 특정 데이터베이스 시스템에 얽매이지 않고 다양한 시스템에서 작업할 수 있게 합니다.
- 강력한 데이터 처리 능력: 복잡한 조건을 사용하여 대량의 데이터를 빠르고 효율적으로 검색, 분석, 요약할 수 있습니다.
JOIN, GROUP BY, WHERE 등 다양한 절을 통해 원하는 형태의 데이터를 쉽게 추출할 수 있습니다.