SQL이란?
SQL(Structured Query Language)은 관계형 데이터베이스(RDBMS)에서 데이터를 저장, 검색, 조작하는 데 사용되는 표준 언어입니다. 현대의 모든 데이터 중심 시스템에서 필수적으로 활용되는 SQL은, 데이터 분석부터 애플리케이션 개발까지 폭넓게 쓰입니다.
SQL의 역사와 중요성
1970년대 IBM 연구원들이 최초로 개발한 SQL은 이후 ANSI(미국국립표준협회)와 ISO(국제표준화기구)에 의해 표준화되었습니다. 관계형 데이터베이스가 기업의 핵심 인프라로 자리 잡으며, SQL은 필수적인 기술이 되었습니다. 현재는 MySQL, PostgreSQL, Oracle, SQL Server 등 다양한 데이터베이스 시스템에서 사용됩니다.
SQL의 주요 기능
SQL은 크게 네 가지 기능으로 구분할 수 있습니다:
1️⃣ 데이터 정의(DDL: Data Definition Language)
데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성, 수정, 삭제하는 명령어입니다.
-- 테이블 생성
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
BirthDate DATE
);
-- 테이블 구조 수정 (이메일 컬럼 추가)
ALTER TABLE Employees ADD Email VARCHAR(100);
-- 테이블 삭제
DROP TABLE Employees;
2️⃣ 데이터 조작(DML: Data Manipulation Language)
테이블의 데이터를 삽입, 수정, 삭제하는 명령어입니다.
-- 데이터 삽입
INSERT INTO Employees (EmployeeID, FirstName, LastName, BirthDate)
VALUES (1, 'John', 'Doe', '1980-01-01');
-- 데이터 수정
UPDATE Employees
SET Email = 'john.doe@example.com'
WHERE EmployeeID = 1;
-- 데이터 삭제
DELETE FROM Employees
WHERE EmployeeID = 1;
3️⃣ 데이터 조회(DQL: Data Query Language)
테이블에서 데이터를 검색하는 명령어입니다.
-- 1990년 이후 출생한 직원 조회
SELECT FirstName, LastName, Email
FROM Employees
WHERE BirthDate > '1990-01-01';
4️⃣ 데이터 제어(DCL: Data Control Language)
사용자 권한을 부여하거나 회수하는 명령어입니다.
-- 특정 사용자에게 SELECT, INSERT 권한 부여
GRANT SELECT, INSERT ON Employees TO user_name;
-- 특정 사용자에게서 INSERT 권한 회수
REVOKE INSERT ON Employees FROM user_name;
SQL의 고급 기능
SQL은 기본적인 CRUD(Create, Read, Update, Delete) 연산 외에도 강력한 기능들을 제공합니다.
🔹 JOIN (조인): 여러 테이블의 데이터를 결합하여 조회
SELECT Employees.FirstName, Departments.DepartmentName
FROM Employees
JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;
🔹 서브쿼리(Subquery): 중첩된 쿼리를 사용하여 복잡한 데이터 요청 처리
SELECT FirstName, LastName
FROM Employees
WHERE EmployeeID IN (SELECT EmployeeID FROM Sales WHERE Amount > 1000);
🔹 인덱스(Index): 검색 성능 향상을 위한 인덱스 생성
CREATE INDEX idx_employee_lastname ON Employees (LastName);
🔹 트랜잭션(Transaction): 데이터 무결성을 유지하기 위한 트랜잭션 처리
BEGIN TRANSACTION;
UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1;
UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2;
COMMIT;
결론
SQL은 데이터베이스를 관리하고 데이터를 다루는 강력한 도구입니다. SQL을 익히면 데이터 분석, 소프트웨어 개발, 비즈니스 인텔리전스 등 다양한 분야에서 활용할 수 있습니다.
📌 핵심 요약
✅ 데이터 정의(DDL): 테이블 생성, 수정, 삭제
✅ 데이터 조작(DML): 데이터 삽입, 수정, 삭제
✅ 데이터 조회(DQL): 원하는 데이터 검색 및 필터링
✅ 데이터 제어(DCL): 권한 관리
✅ 고급 기능: JOIN, 서브쿼리, 인덱스, 트랜잭션
SQL을 처음 배우는 분들은 기본 개념을 확실히 익힌 후, 점차 고급 기능을 활용해보는 것이 좋습니다.
'빅데이터 관련 자료 > [SQL] Basic' 카테고리의 다른 글
PostgreSQL과 Athena에서 sequence와 generate_series 사용법 (0) | 2025.03.26 |
---|---|
SQL에서 JOIN의 종류와 사용 방법 (0) | 2024.07.09 |
SQL 피벗 및 언피벗 pivot unpivot (0) | 2024.05.20 |
PostgreSQL에서 테이블 스키마 정보 조회하기 (information_schema.columns) (0) | 2024.04.26 |
윈도우 프레임 SQL : ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING (0) | 2024.04.11 |