250x250
728x90
🛠 실무에서 자주 쓰는 SQL 쿼리 모음 (초중급 편)
안녕하세요! 취준퇴준입니다. 데이터를 다루는 직무라면 SQL은 거의 필수 언어입니다.
마케터, 기획자, 데이터 분석가, PO 등 다양한 직군에서 데이터 추출 및 분석을 위해 SQL을 자주 사용하죠.
이번 글에서는 실무에서 자주 쓰이는 SQL 쿼리들을 예제와 함께 소개드릴게요!
1️⃣ WHERE 절: 조건 필터링의 기본
SELECT *
FROM users
WHERE gender = 'F' AND age >= 30;
- 조건에 맞는 데이터만 추출할 때 사용
- AND / OR / IN / BETWEEN / LIKE 같이 자주 활용
-- 20대, 30대 여성만 조회
WHERE age BETWEEN 20 AND 39 AND gender = 'F';
2️⃣ GROUP BY + COUNT: 집계의 기본 중 기본
SELECT gender, COUNT(*) AS user_count
FROM users
GROUP BY gender;
- 성별별 사용자 수를 집계
- SUM, AVG, MAX, MIN도 함께 자주 쓰이는 집계 함수들
-- 일자별 가입자 수
SELECT signup_date, COUNT(*)
FROM users
GROUP BY signup_date;
3️⃣ ORDER BY: 정렬로 통찰력을 얻자
SELECT *
FROM products
ORDER BY created_at DESC;
- 최신순, 가격순, 인기순 등 순서 기반 데이터 확인 필수
4️⃣ LIMIT / TOP: 일부만 보고 싶을 때
-- 상위 10개만 확인
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 10;
- MySQL은 LIMIT, SQL Server는 TOP, Oracle은 ROWNUM 사용
5️⃣ JOIN: 진정한 SQL의 묘미
SELECT a.user_id, a.name, b.order_id, b.amount
FROM users a
JOIN orders b ON a.user_id = b.user_id;
- INNER JOIN: 양쪽에 모두 데이터 있는 경우만
- LEFT JOIN: 왼쪽 테이블은 다 나오고, 오른쪽은 매칭된 것만
-- 주문 내역 없는 유저까지 포함하려면
LEFT JOIN 사용
6️⃣ 서브쿼리 & WITH절: 복잡한 쿼리의 핵심
-- 가장 최근 주문일자 기준 사용자 정보 추출
SELECT *
FROM users
WHERE last_order_date = (
SELECT MAX(order_date)
FROM orders
);
또는
-- CTE (Common Table Expression)
WITH recent_orders AS (
SELECT user_id, MAX(order_date) AS last_order
FROM orders
GROUP BY user_id
)
SELECT u.user_id, u.name, r.last_order
FROM users u
JOIN recent_orders r ON u.user_id = r.user_id;
- 실무에서는 가독성과 재사용성을 위해 WITH 절 많이 활용
7️⃣ CASE WHEN: 조건에 따라 다른 값 넣기
SELECT name,
CASE
WHEN age < 20 THEN '청소년'
WHEN age < 65 THEN '성인'
ELSE '시니어'
END AS age_group
FROM users;
- 대시보드나 리포트에서 범주화된 컬럼 만들 때 필수
🔚 마무리
SQL은 단순한 데이터 추출 언어를 넘어, 실무에서 인사이트를 도출하고 사용자 행동을 분석하는 데 필수적인 도구입니다.
오늘 소개한 쿼리들만 숙지해도 대부분의 데이터 추출 업무는 문제없이 진행 가능해요.
앞으로는 **고급 SQL 문법 (윈도우 함수, 피벗/언피벗, 재귀 쿼리 등)**도 다뤄보겠습니다.
728x90
'실무 좀 잘하고 싶다. > 자격증공부' 카테고리의 다른 글
2025년 SQLD(개발자)와 SQLP(전문가) 시험일정 및 응시 (1) | 2025.01.19 |
---|---|
SQLD 기출 문제 HAVING 절 낱낱이 파헤쳐 보기 (0) | 2024.08.19 |
2024년 SQL 시험 PIVOT절과 UNPIVOT절 총정리 (0) | 2024.03.02 |
2024년 SQLD, 개발자, SQL전문가 시험일정 (0) | 2024.01.14 |
SQLD 기출문제 COUNT NULL 계산 총정리 (0) | 2023.12.22 |