본문 바로가기
SQLD

SQL 이론 - 2과목 1장 (4)

by Poorm 푸름 2023. 6. 17.

1. 다중행 집계 함수

 

1) 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수

 

2) GROUP BY 절은 행들을 소그룹화

 

3) SELECT, HAVING, ORDER BY 절에 사용 가능

   - ALL : Default 옵션. 생략 가능

   - DISTINCT : 같은 값을 하나의 데이터로 간주 옵션

 



2. GROUP BY / HAVING

 

1) GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용

 

2) 집계 함수는 NULL 값을 가진 행을 제외하고 수행

 

3) GROUP BY 절에서는 ALIAS 사용 불가

 

4) 집계 함수는 WHERE 절에 올 수 X

 

5) HAVING 절에는 집계 함수를 이용하여 조건 표시 O

 

6) HAVING 절은 일반적으로 GROUP BY 뒤에 위치

 

- SELECT [DISTINCT] 칼럼명 [ALIAS] FROM 테이블명 [WHERE 조건식] [GROUP BY] [HAVING] ;

 

SEARCHED_CASE_EXPRESSION                                    SIMPLE_CASE_EXPRESSION

CASE WHEN LOC = ‘a’ THEN ‘b’                    =              CASE LOC WHEN ‘a’ THEN ‘b’

                                                                                        (= DECODE(LOC, 'a', 'b')

                                                                                            LSE NULL이 생략되어 있음)

 

 

3. ORDER BY 특징

 

1) SQL 문장으로 목적에 맞게 특정한 칼럼을 기준으로 정렬, 출력하는데 사용

 

2) 칼럼명 대신 ALIAS 명이나 칼럼순서를 나타내는 정수도 사용 가능

 

3) ASC (DEFAULT) = 오름차순, DESC = 내림차순

 

4) SQL 문장의 제일 마지막에 위치

 

5) SELECT 절에서 정의하지 않은 칼럼 사용 가능

 

- Oracle에서 NULL = 가장 큰 값

- SQL Server에서 NULL = 가장 작은 값

 

- SELECT 문장 실행 순서

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

  칼럼명 [ALIAS] ORDER BY 칼럼/표현식

 

- SQL ServerWITH TIES

= SELECT TOP(2) WITH TIES ENAME, SAL FROM EMP ORDER BY SAL DESC;

= 급여가 높은 2명을 내림차순으로 출력하는데, 같은 급여를 받는 사원은 같이 출력

 

 

[ 참조 무결성 조건 ]

 

- Delete/Modify : Cascade, Set Null, Set Default, Restrict, No Action

 

1) Cascade : 부모값 삭제 자식값 삭제

2) Set Null : 부모값 삭제 자식값 해당 칼럼 Null

3) Set Default : 부모값 삭제 자식값 해당 칼럼 Default

4) Restrict : 자식 테이블에 PK값이 없는 경우 부모값 삭제 및 수정 가능

5) No Action : 참조 무결성 제약이 있는 경우 삭제 및 수정 불가

 

- Insert : Automatic, Set Null, Set Default, Dependent, No Action

 

1) Automatic : (부모 테이블에 PK값 없는 경우) 부모 PK 생성 자식값 입력

2) Set Null : (부모 테이블에 PK값 없는 경우) 자식 외부키 Null

3) Set Default : (부모 테이블에 PK값 없는 경우) 자식 외부키 Default

4) Dependent : (부모 테이블에 PK값 존재할 경우) 자식값 입력 허용

5) No Action : 참조 무결성 제약이 있는 경우 입력불가

 
 

** 참고사이트 **

https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=list

'SQLD' 카테고리의 다른 글

SQL 이론 - 2과목 1장 (5)  (0) 2023.06.17
SQL 이론 - 2과목 1장 (3)  (1) 2023.06.17
SQL 이론 - 2과목 1장 (2)  (0) 2023.06.17
SQL 이론 - 2과목 1장 (1)  (0) 2023.06.17
SQL 이론 - 1과목 2장 (4)  (0) 2023.06.17