▮ SELECT 문 기본 구조
SELECT 컬럼명1, 컬럼명2
FROM 테이블명
WHERE 조건
ORDER BY 기준1 ASC, 기준2 ASC;
✅ SELECT: 가져오고 싶은 데이터의 열 이름. 모든 열을 다 보고 싶다면 별표(*) 사용
✅ FROM: 데이터가 들어있는 테이블의 이름
✅ AS: Alias, 별칭 지정 / AS는 생략 가능(공백으로 구분)
✅ WHERE: 필터링, 원하는 행만 골라내기
# 주요 연산자:
- = (같음), != (다름)
- > , < (크거나 작음)
- LIKE (특정 문자가 포함된 데이터 찾기)
✅ DISTINCT: 중복제거
-- 예시: 우리 회사에 어떤 부서들이 있는지 종류만 알고 싶을 때
SELECT DISTINCT dept
FROM employees;
✅ GROUP BY: 그룹으로 묶기
- COUNT(개수), SUM(합계), AVG(평균) 같은 통계 함수와 함께 사용
✅ HAVING: 그룹 전용 필터, 이미 GROUP BY로 묶인 결과에 대해 조건을 걸 때
EX) "10만 원 이상 상품들만 대상으로(WHERE), 판매 건수가 5번 이상(HAVING)인 상품군(GROUP BY)을 찾아라!"
SELECT product_category, COUNT(*) AS 판매건수
FROM orders
WHERE price >= 100000 -- [1단계] 개별 상품 가격이 10만 원 넘는 것만 골라내기
GROUP BY product_category -- [2단계] 카테고리별로 묶기
HAVING COUNT(*) >= 5 -- [3단계] 묶고 난 뒤, 판매건수가 5건 이상인 팀만 남기기
ORDER BY 판매건수 DESC; -- [4단계] 정렬

✅ ORDER BY: 정렬, 기본값은 오름차순
- ASC: 오름차순 (기본값, 생략 가능)
- DESC: 내림차순 (큰 것부터, 역순)
*기준 여러개 가능
ORDER BY 기준1 ASC, 기준2 ASC;
⭐ SQL 작성 순서
SQL은 작성하는 순서가 정해져 있다. 이 순서를 어기면 에러!!
- SELECT (어떤 컬럼을?)
- FROM (어느 테이블에서?)
- WHERE (어떤 조건으로?)
- GROUP BY (무엇으로 묶어서?)
- ORDER BY (어떻게 정렬해서?)
'프로그래머스 SQL 고득점 Kit > SELECT' 카테고리의 다른 글
| [SQL] 역순 정렬하기 (0) | 2026.02.27 |
|---|---|
| [SQL] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2026.02.27 |
| [SQL] 평균 일일 대여 요금 구하기 (0) | 2026.02.27 |