티스토리 뷰

Database

<Database> DML - SELECT

춘햄 2021. 4. 6. 11:44

1. SELECT의 기본 형식

 

-> SELECT [PREDICATE] table_name [AS 별칭]

[그룹함수(Column_name) [AS별칭]]

[WINDOW 함수 OVER (PARTITION BY Column_name1, ... ORDER BY Column_name3,..) [AS 별칭]]

FROM table_name

[WHERE 조건] [GROUP BY Column_name [ASC | DESC]] [HAVING 조건] 

 

-SELECT절

▷PREDICATE : 검색할 튜플 수를 제한하는 명령어를 기술

▶DISTINCT : 중복된 튜플이 있으면 그 중 첫번째 한개만 표시한다.

 

- FROM: 검색할 데이터가 들어있는 테이블 이름을 기술함

 

- WHERE: 검색할 조건을 기술

 

2. 논리 연산자는 NOT, AND, OR 사용 가능

 

3. LIKE 연산자: 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용

-> ‘%서울%’ : ‘서울’이란 단어가 포함된 문자열

-> %서울’ : ‘서울’이란 단어로 끝나는 문자열

-> ‘서울%’ : ‘서울’이란 단어로 시작하는 문자열

-> _ _ _’ : 정확히 세 개의 문자로 구성된 문자열

-> _ _ _%’ : 최소한 세 개의 문자로 구성된 문자열

 

ex) SELECT * FROM member WHERE name LIKE 'choon%';

 

4. 그룹 함수: GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술함

 

 1) COUNT(): 그룹별 튜플 수를 구함

 2) SUM(): 그룹별 합계

 3) AVG(): 그룹별 평균

 4) MAX()

 5) MIN()

 6) STDDEV(): 그룹별 표준편차

 7) VARIANCE(): 그룹별 분산

 8) ROLLUP(Column_name1, Column_name2,...): 인수로 주어진 속성을 대상으로 그룹별 소계를 구하는 함수

 

- GROUP BY절: 특정 속성을 기준으로 그룹화하여 검색할 때 사용한다. 

- HAVING 절: GROUP BY와 함꼐 사용되며, 그룹에 대한 조건을 지정

 

5. WINDOW 함수:  GROUP BY 절을 이용하지 않고 속성의 값을 집계할 함수를 기술함, 함수의 인수로 지정한 속성이 집계 범위가 되는데, 이를 윈도우라고 부른다.

 

 1) ROW_NUMBER() : 윈도우 별 각 레코드에 대한 일련번호를 반환

 2) RANK() : 윈도우별로 순위를 반환, 공통 순위 허용

 3) DENSE_RANK() : 공통 순위 무시

 

 

Comments