2021-11-27 02:31:40
SQL 자격검정 실전문제 풀이 해설 노랭이 52번
- 인라인 뷰 통해 집계 함수 처리 후 해당 인라인 뷰와의 조인 수행하는 SQL문 작성
- 인라인 뷰에서 메인 SQL의 테이블 칼럼 쓸 수 있는지 여부
FROM절에 위치하는 서브 쿼리인 인라인 뷰의 경우
FROM절이 있기에 메인 쿼리 테이블 칼럼 사용할 수 X
이는 메인쿼리 테이블 칼럼이 메인 쿼리 SELECT 사용되기 때문
*보기에 광고매체 ID별 최초 게시 광고명 광고 시작일자 출력
그룹-광고매체 ID , 최초-광고시작일자 MIN값
해당 인라인뷰 조인하는 SQL 찾기
1. 연관 서브 쿼리 활용이지만 이를 이용하기 위해 WHERE절 사용
(인라인 뷰 안에서 뷰 바깥 테이블과 조인 X)
인라인 뷰에서 메인테이블의 칼럼을 조건절로 사용- 에러
3. 광고 ID가 아닌 광고매체 ID를 그룹핑
4. 전체 칼럼에 대한 집계 X 광고매체 ID 그룹핑 이후 집계 함수 사용 필요
SQL 자격검정 실전문제 풀이 해설 노랭이 53번
2. WHERE절 집계 함수 X / HAVING절 집계 함수 O
GROUP BY 소그룹 정하지 않아도 집계 함수인 경우 HAVING절 사용 가능
그룹 바이없어도 집계 쿼리 가능, 있으면 그룹별 집 계고 없으면 전체 집계라고 보면 됨, HAVING 가능
GROUP BY 절 없이 HAVING절 사용 >> HAVING조건은 검색 조건 충족시키는 모든 행에 적용됨
즉, 검색조건에 맞는 모든 행이 단일 그룹을 형성
WHERE절 조차 없으면 테이블이 하나의 그룹
또한 HAVING 절은 WHERE절과 비교했을 때 조건을 주는 건 유사하지만
HAVING절은 그룹 함수 포함 가능
- AVG() 함수 / WHERE절에서는 AVG(주문금액)>100; 사용 불가
3. GROUP BY 그룹핑된 칼럼에 대해 HAVING 조건절 사용 시
집계된 칼럼의 FILTER조건으로 사용할 수 있다.
이런 경우 HAVING절에 집계 함수 없이도 사용 가능.
4.AVG(COUNT(*))메뉴 ID, 사용 유형 코드 개수(COUNT) 그 개수 평균 구하는 거기 때문에
평균값 하나만 나옴중첩된 그룹 함수의 경우 최종 결괏값은 1건이 될 수밖에 없기에
GROUP BY절에 기술된 메뉴와 ID 사용 유형 코드는 SELECT절에 기술될 수 없다.
*집계 함수 중첩 사용
-집계라는 건 여러 건 하나로 묶어서 보여줌
-여러 건 하나로 표현하면서 또 여러 개 같이 표현 불가
-메뉴 ID별 건수 전체 평균은 하나의 값으로 표현됨
-하나의 값에 여러개 메뉴 ID 같이 표현 X
(원래 인라인 뷰 이용 두 번에 걸쳐야 할 그룹 바이 한 번에 표현)
'02_STUDY > SQLD' 카테고리의 다른 글
SQL 자격검정 실전문제 풀이 해설 노랭이 67번, 69번,70번,72번 (P.80,81,82,83) (0) | 2023.03.30 |
---|---|
SQL 자격검정 실전문제 풀이 해설 노랭이 56번, 60번, 66번 (P.70,72,78) (0) | 2023.03.30 |
SQL 자격검정 실전문제 풀이 해설 노랭이 50번 51번 (P.65,66) (0) | 2023.03.29 |
SQL 자격검정 실전문제 풀이 해설 노랭이 45번,47번,48번 (P.63,64) (0) | 2023.03.29 |
SQL 자격검정 실전문제 풀이 해설 노랭이 41번, 42번 (P.60,61) (0) | 2023.03.29 |