SQL/SQLD

[SQLD] 2-1. SQL 기본 (2)

유달잇 2021. 5. 24. 23:55
728x90

 

5. WHERE 절


 

5-1. WHERE 절 이란?


원하는 자료만을 검색하기 위해서 사용하는 절이다.

 

 

5-2. 연산자의 종류


  • 비교 연산자
    • =
    • >
    • >=
    • <
    • <=
  • SQL 연산자
    • BETWEEN a AND b : a와 b 사이의 모든 값 (a, b포함)
    • IN (LIST) : 리스트에 있는 값 중 하나라도 일치 여부
    • LIKE '문자열' : 문자열 형태 일치 여부 ( % : 0개 이상, _ : 1개 단일 문자)
    • IS NULL : NULL값 여부
  • 논리 연산자
    • AND
    • OR
    • NOT
  • 부정 비교 연산자
    • !=
    • ^=
    • <>
    • NOT 칼럼명 = 
    • NOT 칼럼명 >
  • 부정 SQL 연산자
    • NOT BETWEEN a AND b
    • NOT IN (LIST)
    • IS NOT NULL

 

 

5-3. 연산자의 우선순위


  1. ( )
  2. NOT
  3. 비교 연산자, SQL 비교 연산자
  4. AND
  5. OR

 

 

5-4. ROWNUM, TOP


행의 개수를 제한하는 목적으로 사용되는 함수

  
  [Oracle]
  SELECT 칼럼명 FROM 테이블명 ROWNUM <= n;
  
  [SQL Server]
  SELECT TOP(n) 칼럼명 FROM 테이블명;
    
  • ROWNUM
    • Oracle에서 사용하며 제한된 행의 개수를 가져올 때 사용한다.
    • ORDER BY절보다 먼저 처리되는 WHERE절에서 처리한다.
    • ROWNUM을 이용하여 고유키나 인덱스를 생성할 수 있다.
      • UPDATE 테이블명 SET 칼럼명 = ROWNUM;
  • TOP
    • SQL Server에서 사용하며 불러오는 행의 갯수를 지정하여 가져온다.
    • TOP N : 상위 N개의 갯수 출력
    • TOP N PERCENT : 상위 N%의 데이터 출력
    • TOP N WITH TIES : 마지막 행의 같은 값을 추가 출력하며 ORDER BY 절과 같이 사용한다.

 

 

5-5. NULL 관련 함수


  • NVL(판단 대상, 대체값)
    • 판단 대상 값이 NULL이면 대체값을 출력한다.
    • NULL 값이 있을 경우 대체할 때 사용
  • ISNULL(판단 대상, 대체값)
    • 판단 대상 값이 NULL이면 대체값을 출력한다.
    • NULL 값이 있을 경우 대체할 때 사용
  • NULLIF(판단 대상, 비교대상)
    • 판단 대상과 비교대상이 같으면 NULL을 출력하고 다르면 판단 대상을 출력한다.
    • 특정 값을 NULL로 대체하는 경우 사용
  • COALESCE(표현식 1, 표현식 2,,,)
    • NULL이 아닌 최초의 표현식을 출력한다. 다 NULL일 경우에는 NULL을 출력한다.
    • 두 개의 중첩된 CASE 문장으로 표현 가능

 

 

6. GROUP BY HAVING 절


 

6-1. GROUP BY 절 이란?


FROM 절과 WHERE 절 뒤에 오며, 데이터를 작은 그룹으로 분류하여 소그룹에 대한 항목별, 통계 정보를 얻을 때 추가로 사용하는 절이다.

  
  SELECT * FROM 테이블명
  WHERE 조건식
  GROUP BY 칼럼/표현식
  HAVING 그룹의 조건식;
   

 

 

6-2. GROUP BY 절과 HAVING 절의 특성


  • 집계 함수의 통계 정보는 NULL 값을 가진 행은 제외하고 처리한다.
  • 집계 함수는 WHERE 절에서 사용할 수 없음
  • GROUP BY 절에서는 별명(ALIAS)을 사용할 수 없다.
  • GROUP BY 절에 의해 소그룹별로 만들어진 집계 데이터는 HAVING 절에서 만족하는 조건의 데이터를 출력

 

 

6-3. COUNT


  • 행의 수를 출력하는 함수이다.
  • COUNT(*) : NULL을 포함한 모든 행의 수
  • COUNT(표현식) : NULL을 제외한 모든 행의 수

 

 

7. ORDER BY 절


 

7-1. ORDER BY 절 이란?


  • 특정 칼럼을 기준으로 데이터를 정렬한다. 기본값은 오름차순(ASC)으로 정렬된다.
  • Oracle은 NULL을 가장 큰 값, SQL Server는 NULL을 가장 작은 값으로 간주한다.
  
  SELECT * FROM 테이블명
  WHERE 조건식
  GROUP BY 칼럼/표현식
  HAVING 그룹조건식
  ORDER BY 칼럼/표현식 [ASC|DESC];
    

 

 

7-2. SELECT 문장의 실행 순서


  1. FROM
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY

 

 

728x90

'SQL > SQLD' 카테고리의 다른 글

[SQLD] 2-2. SQL 활용 (2)  (3) 2021.05.26
[SQLD] 2-2. SQL 활용  (2) 2021.05.25
[SQLD] 2-1. SQL 기본  (1) 2021.05.23
[SQLD] 1-2. 데이터 모델과 성능  (3) 2021.05.19
[SQLD] 1-1. 데이터 모델링의 이해  (1) 2021.05.18
댓글
250x250
최근에 올라온 글
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Total
Today
Yesterday