1. WHERE 조건식 + ORDER BY 정렬
데이터 필터링에는 WHERE, 정렬에는 ORDER BY 사용.
SELECT * FROM 테이블명 WHERE 조건식 ORDER BY 칼럼명;
ORDER BY 정렬 방식
- ASC (오름차순)
- 문자열: 사전순 정렬 (예: 1 → 11 → 2)
- 숫자: 작은 값에서 큰 값으로 정렬 (예: 1 → 2 → 11)
- DESC (내림차순)
- 반대 순서로 정렬됨
NULL 값 정렬 방식
- MySQL: NULL을 가장 작은 값으로 간주 (오름차순 정렬 시 NULL이 먼저)
- Oracle: NULL을 가장 큰 값으로 간주 (오름차순 정렬 시 NULL이 마지막)
2. LIMIT: 결과 개수 제한
특정 개수의 데이터만 가져오기 위해 LIMIT 사용.
SELECT 칼럼 FROM 테이블명 WHERE 조건식 ORDER BY 칼럼 LIMIT 행 수;
- SQL Server: TOP 사용
- Oracle: ROWNUM 사용
3. ALIAS (별칭 지정)
SELECT문에서 컬럼명 또는 연산된 값에 별칭 지정 가능.
SELECT 연산된 값 AS 별칭 FROM 테이블명;
SQL 실행 순서
- WHERE
- GROUP BY
- HAVING
- SELECT (별칭 지정) → 별칭은 이전 단계에서 사용 불가
- ORDER BY
4. CASE: 조건문 처리
CASE를 사용하여 조건에 따라 다른 값 반환.
단순 CASE
SELECT CASE 칼럼
WHEN 1 THEN '남자'
WHEN 2 THEN '여자'
ELSE '기타'
END AS 성별
FROM 테이블명;
검색 CASE
SELECT CASE
WHEN 칼럼 = 1 THEN '남자'
WHEN 칼럼 = 2 THEN '여자'
ELSE '기타'
END AS 성별
FROM 테이블명;
5. COALESCE: NULL 처리
COALESCE는 NULL이 아닌 첫 번째 값을 반환.
SELECT COALESCE(표현식1, 표현식2, 표현식3, ...) FROM 테이블명;
예제
SELECT COALESCE(a, 0) FROM 테이블명;
- a가 NULL이면 0 반환
- a가 NULL이 아니면 그대로 반환
'Server > DB' 카테고리의 다른 글
코테 준비를 위한 SQL 첫걸음 정리 - 복수의 테이블 다루기 [ 집합 연산, 조인 ] (0) | 2025.03.30 |
---|---|
코테 준비를 위한 SQL 첫걸음 정리 - 집계함수, GROUP BY (0) | 2025.03.25 |
코테 준비를 위한 SQL 첫걸음 정리 - Select (0) | 2025.03.25 |
SQL 코테 준비 (0) | 2025.03.16 |
처음으로 간단한 DB를 설계하며 한 고민 [정규화] (0) | 2025.03.07 |