SELECT 문의 형식과 실행 순서
4) SELECT 컬럼1 [AS 컬럼별칭], 컬럼 2, ...
1) FROM 테이블 리스트
2) [WHERE 튜플 조건식]
3) [GROUP BY 컬럼 [HAVING 그룹 조건식]]
5) [ORDER BY 컬럼/컬럼별칭 [ASC/DESC]]
- 표준 SQL에서 컬럼 별칭은 출력 용도로만 사용
- SELECT, ORDER BY 절에서 사용 가능 but WHERE 절, GROUP BY 절에서 사용 불가 (MySQL에서는 GROUP BY 절에서 사용 허용)
컬럼 생성
- 산술 표현, 문자열 연결, CASE 표현 가능
WITH 절을 이용한 임시 테이블 생성
WITH temp AS
(
SELECT col1, col2, col3, ..
FROM table1
)
SELECT col1, col2, col3, ..
FROM temp
WHERE col3 is not null;
WHERE 절
연산자 종류
-
비교 연산자: >, <, >=, <=, =, <>
-
SQL 연산자
- BETWEEN a AND b, NOT BETWEEN a AND b
- IN (list), NOT IN (list)
- LIKE str, NOT LIKE str
- IS NULL, IS NOT NULL
- 논리 연산자: AND, OR, NOT
GROUP BY, HAVING 절
- GROUP BY: 튜플을 그룹별로 묶는 기능
- HAVING: 원하는 특정 그룹만 선택
- 집단 함수를 같이 사용하여 통계치 생성 가능
집단 함수
- COUNT, SUM, AVG, MIN/MAX, STDDEV, VARIAN
- WHERE 절에 사용 불가, HAVING 절에 가능