SQL 문법 총정리

2026. 4. 19. 16:37·SQL

1. 기본 조회

 
 
sql

 

SELECT 컬럼 FROM 테이블
WHERE 조건
ORDER BY 컬럼 ASC/DESC
LIMIT 숫자
OFFSET 숫자  -- 몇 번째부터 시작할지

2. 집계 함수

 
 
sql
COUNT()   -- 개수
SUM()     -- 합계
AVG()     -- 평균
MAX()     -- 최댓값
MIN()     -- 최솟값
ROUND(값, 자릿수)  -- 반올림
CEIL()    -- 올림
FLOOR()   -- 내림

3. 그룹핑

 
 
sql
GROUP BY 컬럼
HAVING 조건  -- 집계 후 필터링
  • WHERE → 집계 전 필터링
  • HAVING → 집계 후 필터링

4. 조건

 
 
sql
WHERE 컬럼 = 값
WHERE 컬럼 != 값
WHERE 컬럼 LIKE '%값%'      -- 포함
WHERE 컬럼 LIKE '값%'       -- 시작
WHERE 컬럼 LIKE '%값'       -- 끝
WHERE 컬럼 IN (1, 2, 3)     -- 여러 값
WHERE 컬럼 NOT IN (1, 2, 3)
WHERE 컬럼 BETWEEN 1 AND 10 -- 범위
WHERE 컬럼 IS NULL
WHERE 컬럼 IS NOT NULL

5. JOIN

 
 
sql
INNER JOIN  -- 두 테이블 모두 있는 것만
LEFT JOIN   -- 왼쪽 기준, 오른쪽 없으면 NULL
RIGHT JOIN  -- 오른쪽 기준, 왼쪽 없으면 NULL
FULL OUTER JOIN  -- 양쪽 모두 포함
CROSS JOIN  -- 모든 조합 (카테시안 곱)
SELF JOIN   -- 같은 테이블끼리 JOIN

6. 서브쿼리

 
 
sql
-- FROM 절 서브쿼리
SELECT * FROM (SELECT ...) AS 별칭

-- WHERE 절 서브쿼리
WHERE 컬럼 = (SELECT MAX(컬럼) FROM 테이블)

-- EXISTS
WHERE EXISTS (SELECT 1 FROM 테이블 WHERE 조건)

7. WINDOW 함수

 
 
sql
-- 순위
ROW_NUMBER() OVER (ORDER BY 컬럼)   -- 1,2,3,4
RANK() OVER (ORDER BY 컬럼)         -- 1,2,2,4 (동점 건너뜀)
DENSE_RANK() OVER (ORDER BY 컬럼)   -- 1,2,2,3 (동점 안건너뜀)

-- 그룹 내 순위
RANK() OVER (PARTITION BY 그룹 ORDER BY 컬럼)

-- 누적 합계
SUM(컬럼) OVER (ORDER BY 컬럼)

-- 이전/다음 값
LAG(컬럼, 1) OVER (ORDER BY 컬럼)   -- 이전 행
LEAD(컬럼, 1) OVER (ORDER BY 컬럼)  -- 다음 행

8. 날짜 함수

 
 
sql
YEAR(날짜)         -- 연도
MONTH(날짜)        -- 월
DAY(날짜)          -- 일
NOW()              -- 현재 시각
DATE(날짜)         -- 날짜만 추출
DATEDIFF(날짜1, 날짜2)  -- 날짜 차이
DATE_FORMAT(날짜, '%Y-%m-%d')  -- 날짜 형식 지정

9. 문자열 함수

 
 
sql
UPPER()            -- 대문자
LOWER()            -- 소문자
LENGTH()           -- 문자 길이
SUBSTRING(컬럼, 시작, 길이)  -- 문자 자르기
CONCAT(A, B)       -- 문자 합치기
TRIM()             -- 공백 제거
REPLACE(컬럼, 찾을값, 바꿀값)

10. 조건부 출력

 
 
sql
CASE WHEN 조건 THEN 값
     WHEN 조건 THEN 값
     ELSE 값
END AS 컬럼명

-- 간단한 버전
IF(조건, 참일때, 거짓일때)  -- MySQL만 가능

11. NULL 처리

 
 
sql
COALESCE(컬럼, 대체값)  -- NULL이면 대체값 출력
IFNULL(컬럼, 대체값)    -- MySQL만 가능

12. 집합 연산

 
 
sql
UNION      -- 두 쿼리 결과 합치기 (중복 제거)
UNION ALL  -- 두 쿼리 결과 합치기 (중복 포함)
INTERSECT  -- 두 쿼리 공통 결과
EXCEPT     -- 첫 번째 쿼리에만 있는 결과

13. CTE (공통 테이블 표현식)

 
 
sql
WITH cte AS (
  SELECT ...
)
SELECT * FROM cte

서브쿼리를 깔끔하게 정리할 때 사용해요!


14. 테이블 생성/수정 (DDL)

 
 
sql
CREATE TABLE 테이블 (컬럼 타입)
ALTER TABLE 테이블 ADD 컬럼 타입
DROP TABLE 테이블

'SQL' 카테고리의 다른 글

2025.12.11 SQL문 ( INSERT, UPDATE, DELETE)  (0) 2025.12.11
25.12.10 데이터베이스, SELECT문  (0) 2025.12.10
'SQL' 카테고리의 다른 글
  • 2025.12.11 SQL문 ( INSERT, UPDATE, DELETE)
  • 25.12.10 데이터베이스, SELECT문
폭듀장땡
폭듀장땡
yoon0921 님의 블로그 입니다.
  • 폭듀장땡
    윤
    폭듀장땡
  • 전체
    오늘
    어제
    • 분류 전체보기 (40)
      • Setup (1)
      • AWS (7)
      • Python (1)
      • SQL (6)
        • SQL 문제풀이 (3)
      • Qt (20)
      • Git (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
폭듀장땡
SQL 문법 총정리
상단으로

티스토리툴바