데이터베이스

[DB] 자주 쓰는 SQL 쿼리 패턴 10가지 정리

연화 2025. 5. 8. 12:54

 

SQL은 데이터베이스를 다루는 데 있어 필수적인 언어입니다. 하지만 문법을 안다고 해서 바로 실무에 적용하기는 쉽지 않죠. 정작 프로젝트를 진행하다 보면 “어떤 쿼리를 어떻게 작성해야 하지?” 하는 고민에 자주 부딪히게 됩니다.

이번 포스팅에서는 실무에서 자주 사용되는 SQL 쿼리 패턴 10가지를 간결하게 정리해보았습니다. 기본적인 조회부터 집계, 조인, 수정/삭제까지, 자주 쓰는 구조들을 한눈에 확인해보세요.

 

✅ 1. 기본 SELECT 조회

SELECT name, email FROM users WHERE status = 'active';
  • 가장 기본이 되는 조회 구문
  • 조건 필터링, 정렬, 페이징과 자주 함께 사용됨

 


 

🔍 2. LIKE를 이용한 검색

SELECT * FROM products WHERE name LIKE '%노트북%';
  • 문자열 일부 일치 검색
  • 성능 이슈 때문에 대량 데이터에서는 주의 필요

 


 

📊 3. GROUP BY와 집계 함수

SELECT category, COUNT(*) FROM products GROUP BY category;
  • 카테고리별 상품 개수 등 분류/집계에 유용

 


 

🧮 4. HAVING을 이용한 필터링

SELECT author_id, COUNT(*) 
FROM posts 
GROUP BY author_id 
HAVING COUNT(*) > 5;
  • WHERE이 아닌 HAVING은 집계 후 필터링

 


 

🔗 5. INNER JOIN

SELECT orders.id, customers.name 
FROM orders 
JOIN customers ON orders.customer_id = customers.id;
 
  • 테이블 간 관계를 통해 필요한 데이터 조합

 


 

➕ 6. LEFT JOIN

SELECT users.name, orders.id 
FROM users 
LEFT JOIN orders ON users.id = orders.user_id;
  • 주문이 없는 사용자도 포함해 조회할 때 유용

 


 

📎 7. 서브쿼리 활용

SELECT * FROM orders 
WHERE user_id IN (SELECT id FROM users WHERE is_blocked = false);
  • 조건에 복잡한 기준이 필요할 때 사용

 


 

🛠 8. INSERT INTO

INSERT INTO users (name, email) VALUES ('홍길동', 'hong@example.com');
  • 다중 INSERT도 가능하며, 초기 데이터 입력 시 자주 사용

 


 

✏️ 9. UPDATE

UPDATE products 
SET price = price * 0.9 
WHERE category = '전자제품';
  • 항상 WHERE 조건을 신중하게 설정해야 함

 


 

🗑️ 10. DELETE

DELETE FROM users WHERE last_login < '2023-01-01';
  • 실수 방지를 위해 먼저 SELECT로 데이터 확인하는 습관이 중요

 


 

✔ 추가 체크 리스트

  • LIMIT, OFFSET: 페이징 처리
  • CASE WHEN: 조건부 데이터 처리
  • DISTINCT: 중복 제거
  • COALESCE: NULL 대체
  • WITH (CTE): 복잡한 쿼리 가독성 향상

 

 

SQL은 단순한 문법 학습을 넘어서 패턴과 상황에 맞는 활용 능력이 중요합니다.
오늘 소개한 10가지 쿼리 패턴은 실무에서 자주 접하는 유형이므로 익숙해지면 업무 효율도 확실히 향상될 수 있습니다.

 

 

👀 데이터베이스 관련 다른 포스팅이 궁금하시다면 아래의 글을 추천해요

 

[DB] 데이터베이스 키(Key)의 개념과 종류

SQL을 공부하면서 PRIMARY KEY, FOREIGN KEY, UNIQUE 같은 말, 많이 들어보셨죠?이 키(Key)라는 개념은 데이터베이스에서 정확하고 일관된 데이터를 저장하고 관리하기 위한 핵심 도구입니다.오늘은 데이터

dev-yeonwha.tistory.com

 

[DB] 정규화(Normalization)란?

데이터베이스를 공부하다 보면 “테이블을 정규화하세요”라는 말을 자주 듣게 됩니다.그런데 왜 굳이 테이블을 잘게 나누는 걸까요? 그냥 하나에 다 넣으면 안 될까요?오늘은 그 궁금증을 풀

dev-yeonwha.tistory.com