-데이터베이스 개론 2판, SQL 자격검정 실전문제 학습 후 정리한 내용입니다-
데이터베이스 개론 2판
IT CookBook, 데이터베이스 개론(2판)
데이터베이스로 첫 항해를 떠나는 이들에게 지도와 돛이 되어주는 책입니다. 마인드맵으로 생소한 개념 간의 관계를 한눈에 보여주고, 친근한 예와 비유를 들어 명료하게 풀어내, 데이터베이스
www.hanbit.co.kr
SQL 자격검정 실전문제
SQL 자격검정 실전문제 - YES24
SQL 자격검정 실전문제는 국가공인 SQL 전문가 및 국가공인 SQL 개발자 자격시험 대비 수험서로 SQL 전문가 가이드에서 다루고 있는 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등
www.yes24.com
GROUP BY 문장
SELECT [DISTINCT]
칼럼명 [ALIAS명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY
칼럼(Column)이나
표현식]
[HAVING 그룹조건식];
GROUP BY 절과 HAVING 절의 특성
- GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용
- 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
- GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 명을 사용할 수 없다.
- 집계 함수는 WHERE 절에는 올 수 없다.
- WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거시킨다.
- HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
- GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
- HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다.
ORDER BY 문장
SELECT 칼럼명
[ALIAS명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY
칼럼(Column)이나
표현식]
[HAVING 그룹조건식]
[ORDER BY
칼럼(Column)이나
표현식 [ASC 또는
DESC]];
ALIAS : 값에 별칭을 주어 접근을 별칭 형태로 할 수 있도록 하는 역할
ASC : 오름차순
DESC : 내림차순
ORDER BY 절 특징
- 기본적인 정렬 순서는 오름차순
- 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력된다.
- 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 빠른 값이 먼저 출력
- Oracle에서는 NULL 값을 가장 큰 값으로 간주
- SQL Server에서는 NULL 값을 가장 작은 값으로 간주
- SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬하는데 사용한다.
- DBMS마다 NULL 값에 대한 정렬 순서가 다를 수 있으므로 주의해야 한다.
- ORDER BY 절에서 컬럼명 대신 Alias 명이나 컬럼 순서를 나타내는 정수를 혼용하여 사용할 수 있다.
- GROUP BY 절을 사용하는 경우 ORDER BY 절에 집계 함수를 사용할 수도 있다.
집계 함수
- GROUP BY절을 이용하여 그룹 당 하나의 결과로 그룹화 할 수 있다.
- HAVING절을 사용하여 집계함수를 이용한 조건 비교를 할 수 있다.
- MIN, MAX 함수는 모든 자료형에 사용 할 수 있다.
- 일반적으로 가장 많이 사용하는 집계함수에는 AVG(평균), COUNT(개수), MAX(최대값), MIN(최소값), SUM(합계) 등이 있다.
WHERE 절에서는 집계 함수를 사용할 수 없다.
HAVING 절에서 집계 함수를 가지고 조건 비교
HAVING 절은 GROUP BY 절과 함께 사용
SELECT 문장 실행 순서
1. FROM 발췌 대상 테이블을 참조
2. WHRER 발췌 대상 데이터가 아닌 것은 제거
3. GROUP BY 행들을 소그룹화
4. HAVING 그룹핑된 값의 조건에 맞는 것만을 출력
5. SELECT 데이터 값을 출력/계산
6. ORDER BY 데이터 정렬
SQL Server의 TOP N 질의문에서 N에 해당하는 값이 동일한 경우 함께 출력되도록 하는 WITH TIES 옵션을 ORDER BY 절과 함께 사용한다.
여러 테이블로부터 원하는 데이터를 조회하기 위해서는 전체 테이블 개수에서 최소 N-1개 만큼의 JOIN 조건이 필요하다.
JOIN
- 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것
- 일반적인 경우 행들은 PK나 FK 값의 연관에 의해 JOIN이 성립된다.
- 논리적인 값들의 연관만으로 JOIN이 성립 가능하다.
- DBMS 옵티마이저는 From 절에 나열된 테이블이 아무리 많아도 항상 2개의 테이블씩 짝을 지어 Join을 수행한다.
- EQUI Join은 Join에 관여하는 테이블 간의 컬럼 값들이 정확하게 일치하는 경우에 사용되는 방법
- 대부분 Non EQUI Join을 수행할 수 있지만, 때로는 설계상의 이유로 수행이 불가능한 경우도 있다.
'자격증 > sqld' 카테고리의 다른 글
[데이터베이스] sqld SQL 기본2 (0) | 2021.06.28 |
---|---|
[데이터베이스] sqld SQL 기본1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_2 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델링의 이해 (0) | 2021.06.21 |