답으로 제가 작성한 SQL문은
SELECT 제품명, AVG(납품단가) AS 평균단가, AVG(납품수량) AS 평균수량
FROM 납품목록 JOIN 제품 USING(제품코드)
GROUP BY 제품명
HAVING 제품명 IN('컨덴서', '커넥터', '어댑터')
ORDER BY 제품명 ASC
로 작성하였습니다.
여기서 궁금한 점은
1. 답은 HAVING 절이 AVG(납품수량) >= 50으로 되어있는데, 제가 작성한 것처럼 해주면 안되는 건가요?
2. 검색 결과를 봤을 때, 어댑터, 커넥터, 컨덴서 오름차순으로 되어있는데 ORDER BY는 필수 아닌가요?
이 두가지 입니다.
안녕하세요.
검색결과는 평균단가를 기준으로 오름차순 혹은 제품명을 기준으로 오름차순한 것처럼 보이지만
처리조건에 정렬에 대한 조건은 없습니다. 정렬과 같은 경우는 처리조건에 조건이 제시되어야 명확해 집니다.
또한 오름차순을 지정하지 않아도 <제품> 테이블의 제품코드가 기본키로 설정되었다면 제품명을 기준으로 자동 정렬되어 표시되기도 합니다.
그러니 정렬에 대한 조건은 명확하게 처리조건에 제시된 경우에만 기술하면 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-10 13:38:44
안녕하세요.
검색결과는 평균단가를 기준으로 오름차순 혹은 제품명을 기준으로 오름차순한 것처럼 보이지만
처리조건에 정렬에 대한 조건은 없습니다. 정렬과 같은 경우는 처리조건에 조건이 제시되어야 명확해 집니다.
또한 오름차순을 지정하지 않아도 <제품> 테이블의 제품코드가 기본키로 설정되었다면 제품명을 기준으로 자동 정렬되어 표시되기도 합니다.
그러니 정렬에 대한 조건은 명확하게 처리조건에 제시된 경우에만 기술하면 됩니다.
오늘도 즐거운 하루 되세요.