저는 outer join을 생각하지 않고 문제를 풀어봤는데 이렇게 해도 되는지 답변 부탁드립니다
SELECT 학교.학교명, 지역
FROM 학교
WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);
그리고 131p 16번 문제도 같이 질문드립니다
SELECT 상호, MAX(총액) AS 총액
FROM 거래내역
GROUP BY 상호;
이렇게 풀 수 없다면 이유를 알려주시면 감사하겠습니다. 그룹함수 사용법을 좀 헷갈리고 있어서요.
안녕하세요. 길벗 수험서 운영팀입니다.
SELECT 학교.학교명, 지역
FROM 학교
WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);
[답변]
예, 동일한 결과를 출력하므로 정답으로 인정됩니다.
다만 실제 문제에서는 outer join을 활용하라는 등의 <처리 조건>이 명시될 수 있으니 outer join 또한 충분히 연습해두세요.
131p 16번 문제도 같이 질문드립니다
SELECT 상호, MAX(총액) AS 총액
FROM 거래내역
GROUP BY 상호;
[답변]
위 SQL문은 오답입니다.
위와 같이 실행할 경우 각 상호가 모두 하나의 그룹으로 지정되어, 각 그룹의 총액이 출력되게 됩니다.
(상호는 겹치는 레코드들이 없으니, 각 상호와 총액이 그대로 찍히겠죠.)
그룹함수의 경우 레코드들을 묶을 수 있는 동일한 값을 지닌 속성값이 필요합니다.
직원 테이블에서 (직원코드, 이름, 부서) 가 있다면 '부서' 정도가 그룹으로 묶을 수 있는 속성이 됩니다.
직원코드나 이름은 그룹으로 묶을 정도의 중복 레코드가 존재하기 어려우니깐요.
행복한 하루되세요.^^
-
*2018-10-04 15:38:56
안녕하세요. 길벗 수험서 운영팀입니다.
SELECT 학교.학교명, 지역
FROM 학교
WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);
[답변]
예, 동일한 결과를 출력하므로 정답으로 인정됩니다.
다만 실제 문제에서는 outer join을 활용하라는 등의 <처리 조건>이 명시될 수 있으니 outer join 또한 충분히 연습해두세요.
131p 16번 문제도 같이 질문드립니다
SELECT 상호, MAX(총액) AS 총액
FROM 거래내역
GROUP BY 상호;
[답변]
위 SQL문은 오답입니다.
위와 같이 실행할 경우 각 상호가 모두 하나의 그룹으로 지정되어, 각 그룹의 총액이 출력되게 됩니다.
(상호는 겹치는 레코드들이 없으니, 각 상호와 총액이 그대로 찍히겠죠.)
그룹함수의 경우 레코드들을 묶을 수 있는 동일한 값을 지닌 속성값이 필요합니다.
직원 테이블에서 (직원코드, 이름, 부서) 가 있다면 '부서' 정도가 그룹으로 묶을 수 있는 속성이 됩니다.
직원코드나 이름은 그룹으로 묶을 정도의 중복 레코드가 존재하기 어려우니깐요.
행복한 하루되세요.^^