> 커뮤니티 > Q&A
 
제 목 : 기본이론 - DB - Group by 질문입니다.
이 름 :
이*규 작성일 : 2016년 04월 29일 20시 41분
     
  1. 168p~
예제 15.
SELECT Cno, AVG(Final) AS 기말평균
FROM ENROL
GROUP BY Cno;

예제 16.
SELECT Cno, AVG(Final) AS 기말평균
FROM ENROL
GROUP BY Cno
HAVING COUNT(*) >=3



2. 2016년 기출문제 중.
CREATE VIEW ViewName1 AS
SELECT employee.dno, department.dname, ___ㄱ___
FROM employee, department
WHERE = employee.dno = department.dno
GROUP BY employee.dno, department.dname
HAVING ___ㄴ___;

ㄱ : sum(employee.salary) as total
ㄴ : avg(employee.salary) >= 40000




SQL 표준에 따르면 'GROUP BY 절에서 명시되지 않은 컬럼(hidden column)을 SELECT 컬럼 리스트에 명시할 수 없다'라고 하는데
그러면 두 경우 등에서, MAX, VAG 등으로 계산되어야 할 컬럼(예제 15, 16에서는 Final, 기출문제에서는 employee.salary)도 GROUP BY 절에 명시가 되어야 하는 것 아닌가요? 명시가 되지 않고도 왜 정상적으로 SQL문이 수행되는 것인지 궁금합니다!
 
     
첨부파일