SQL 언어란?
데이터 분석, 백엔드 개발, 머신러닝까지 데이터가 필요한 거의 모든 분야에서 SQL은 기본 도구입니다.
이번 글에서는 SQL이 무엇인지, 왜 중요한지, 그리고 실제로 어떻게 사용하는지 가장 중요한 부분만 깔끔하게 정리하겠습니다.
SQL이란 무엇인가?
SQL(Structured Query Language)
→ 관계형 데이터베이스(RDBMS)에서 데이터를 조회, 추가, 수정, 삭제할 때 사용하는 언어.
대표적으로 사용되는 DBMS는 다음과 같습니다:
- MySQL
- PostgreSQL
- Oracle
- MS SQL Server
- SQLite
SQL은 어디에서든 거의 동일하게 사용되기 때문에 한 번 배우면 평생 써먹을 수 있는 기술입니다. 저는 컴퓨터활용능력 1급을 준비할 때와 오라클을 배울 때 사용했지만 이전에 설명했던 superbase 또한 SQL문을 사용할 수 있습니다.
https://whitecode2718.tistory.com/141
[데이터베이스 관리 소프트웨어 / 사이트] Superbase
사이트 : https://supabase.com/ Supabase | The Postgres Development Platform.Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.supabase.com깃허
whitecode2718.tistory.com
SQL 문법의 4가지 큰 분류
1) DDL (Data Definition Language) — 구조 정의
테이블/DB의 구조를 만들고 수정하는 문법.
- CREATE : 생성
- ALTER : 변경
- DROP : 삭제
✔ 예시
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
2) DML (Data Manipulation Language) — 데이터 조작
데이터를 넣고, 수정하고, 제거하는 문법.
- INSERT
- UPDATE
- DELETE
✔ 예시
INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
3) DQL (Data Query Language) — 데이터 조회
데이터를 가져오는 데 사용.
- SELECT
✔ 예시
SELECT name, age FROM users WHERE age > 20;
4) DCL (Data Control Language) — 권한 관리
- GRANT
- REVOKE
가장 많이 쓰는 SQL 문법 빠르게 정리
SELECT 기본 구조
SELECT 컬럼명 FROM 테이블명 WHERE 조건 GROUP BY 그룹기준 HAVING 그룹조건 ORDER BY 정렬기준;
정렬하기
SELECT * FROM users ORDER BY age DESC;
그룹화(집계 함수)
SELECT age, COUNT(*) FROM users GROUP BY age;
JOIN (테이블 연결)
SELECT u.name, o.product FROM users u JOIN orders o ON u.id = o.user_id;
JOIN은 종류가 많지만 가장 많이 쓰는 건 INNER JOIN입니다.
실전 예제: 회원 테이블에서 30세 이상 주문한 사람 찾기
SELECT u.name, o.product, o.price FROM users u JOIN orders o ON u.id = o.user_id WHERE u.age >= 30;
SQL을 잘 다루기 위한 팁
- SELECT는 차근차근 조건을 좁혀가면서 작성하기
- 조인 조건(ON)을 잘못 쓰면 데이터 폭발 → 주의!
- WHERE vs HAVING 차이 기억하기
- WHERE: 그룹화 전 필터링
- HAVING: GROUP BY 이후 필터링
- 인덱스를 이해하면 성능 10배 좋아짐
결론
SQL은 처음 보면 복잡해 보이지만 규칙이 단순하고 일관성이 있어요. 위 문법만 확실히 이해해도 웬만한 데이터 분석, 서버 개발은 모두 가능합니다.