이 포스팅은
Oracle SQL 실전 오라클 SQL 가이드
Oracle SQL
『ORACLE SQL』는 실전 오라클 SQL 가이드북이다. 초보자들도 조인, 서브 쿼리를 쉽게 배울 수 있도록 예제를 통해 설명한다. 오라클 기반의 실습 환경을 바탕으로 쓰여 졌지만 가능한 표준 SQL을 근
book.naver.com
책을 읽고 요약하여 정리하였습니다.
그룹 함수를 포함한 조건과 일반 조건과 계산하는 과정이 상당히 다름.
일반 조건 : 컬럼의 값을 단지 조건과 비교
그룹 함수 포함 조건 : GROUP BY 절을 사용 우무에 따라 결과 값이 달라짐, 그룹함수가 포함된 경우 동일한 시점에 처리할 수 없다.
이를 위해 HAVING 절을 제공.
HAVING 절은 조건 중에 그룹 함수가 포함된 것만을 모아서 기술하는 구문
그룹 함수와 HAVING 절
- 해석상 WHERE 절과 동일.
- 조건 내용에 그룹 함수를 포함하는 것만을 포함
- HAVING 절은 GROUP BY 절 뒤에 기술
부서별 급여 평균이 3천 달러 미만인 부서의 부서번호와 평균 급여
SELECT dno, ROUND(AVG(sal))
FROM emp
GROUP BY dno
HAVING AVG(sal) < 300
- HAVING 절에 그룹함수를 포함한 조건절을 기술하는 목적으로 사용
- 그룹핑된 컬럼의 조건을 기술하는 절
- 그룹핑된 컬럼에 대한 단순 조건은 HAVING 절에 기술 가능하나 SQL 문장의 의도 파악이 힘들 수 있으므로 권장하지 않음.
ORACLE SQL 문 작성, 실행 순서
작성 | 실행 순서 |
SELECT | 5 |
FROM | 1 |
WHERE | 2 |
GROUP BY | 3 |
HAVING | 4 |
ORDER BY | 6 |
1. FROM 절 : 조회 대상 테이블
FROM CAR_MFG
2. WHERE : 일반 조건
예 ) WHERE CAR_TYPE IN ( "스포츠카", "SUV" )
-> CAR_TYPE이 스포츠카, SUV가 아닌 행
-> " 4 전기차 타이칸4S 2020:02-03 20:00:00 " 제거
3. GROUP BY: 컬럼 그룹화
예 ) GROUP BY CAR_TYPE
4. HAVING : 그룹화 조건
예) HAVING COUNT(*) > 1
5. SELECT : 데이터 추출
예) SELCT CAR_TYPE, COUNT(*) AS COUNT
6. ORDER BY : 데이터 순서 정렬
'Database > SQL DML' 카테고리의 다른 글
그룹함수 GROUP BY (0) | 2021.05.06 |
---|---|
SQL JOIN 형식, 문법, 기준, 연산 등 (0) | 2021.04.29 |
[SQL DML Join 조인] 자연조인 using 절을 이용한 조인 (0) | 2021.04.29 |
[SQL DML Join 조인] 자기 참조 조인, 외부 조인 (0) | 2021.04.29 |
[SQL DML Join 조인] 등가, 비 등가 조인 (0) | 2021.04.29 |