1. WHERE 절
원하는 데이터만 골라 수행할 수 있도록 해주는 구문
(1) 비교 연산자
연산자 | 의미 |
= | 같음 |
< | 작음 |
<= | 작거나 같음 |
> | 큼 |
>= | 크거나 같음 |
(2) 부정 비교 연산자
연산자 | 의미 |
!= | 같지 않음 |
^= | |
<> | |
not 컬럼명 = | |
not 컬럼명 > | 크지 않음 |
(3) SQL 연산자
연산자 | 의미 |
BETWEEN A AND B | A와 B의 사이(A,B 포함) |
LIKE '비교문자열' | 비교문자열을 포함 |
IN (LIST) | LIST 중 하나와 일치 |
IS NULL | NULL 값 |
(4) 부정 SQL 연산자
연산자 | 의미 |
NOT BETWEEN A AND B | A와 B의 사이가 아님(A,B 미포함) |
NOT IN (LIST) | LIST 중 일치하는 것이 없음 |
IS NOT NULL | NULL 값이 아님 |
(5) 논리 연산자
연산자 | 의미 |
AND | 모든 조건이 TRUE |
OR | 하나 이상의 조건이 TRUE |
NOT | TRUE면 FALSE, FALSE면 TRUE |
* 처리 순서 : ( ) > NOT > AND > OR
2. GROUP BY, HAVING 절
(1) GROUP BY 절
데이터를 그룹별로 묶을 수 있도록 해주는 절
(2) 집계함수
COUNT(*) | 전체 ROW를 COUNT하여 반환 | 숫자/문자 |
COUNT(컬럼) | 컬럼값이 NULL인 ROW를 제외하고 COUNT하여 반환 | 숫자/문자 |
COUNT(DISTINCT 컬럼) | 컬럼값이 NULL아닌 ROW에서 중복을 제거한 COUNT를 반환 | 숫자/문자 |
SUM(컬럼) | 컬럼값들의 합계를 반환 (*NULL 제외) | 숫자 |
AVG(컬럼) | 컬럼값들의 평균값 반환 (*NULL 제외) | 숫자 |
MIN(컬럼) | 컬럼값들의 최소값 반환 | 숫자/문자 |
MAX(컬럼) | 컬럼값들의 최대값 반환 | 숫자/문자 |
(3) HAVING 절
GROUP BY 절을 사용할 때 특정 그룹을 골라낼 수 있는 조건절
SELECT 문의 논리적 수행 순서
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
> WHERE 절에서 필터링이 선행되어야 GROUP BY 할 데이터량이 줄어든다.
(4) ORDER BY 절
정렬을 변경하는 조건절로 SELECT 문에서 논리적으로 맨 마지막에 수행됨
- ASC : 오름차순 *기본값
- DESC : 내림차순
*ORACLE의 경우 NULL을 최댓값으로 취급 / SQL Server는 반대
'데이터 이야기 > SQL' 카테고리의 다른 글
[데이터분석 - SQL ] #2-3. 관리 구문(DML / TCL / DDL / DCL) (0) | 2022.11.03 |
---|---|
[데이터분석 - SQL ] #3-1. JOIN / STANDARD JOIN (0) | 2022.11.03 |
[데이터분석 - SQL ] #2-1. SQL 기본 (0) | 2022.11.02 |
[데이터분석 - SQL ] #1-2. 성능 데이터 모델링 (0) | 2022.11.02 |
[데이터분석 - SQL ] #1-1. 데이터 모델링의 이해 (0) | 2022.11.02 |