1.
http://cafe.gilbut.co.kr/it/qna/qnaView.aspx?seq=444306&page=1&search=&searchword=&qnagubun=A&sergubun1=001000000&sergubun2=&sergubun3=&serbook=&serpart=&sortgubun=&cntTF=T
의 답변을 보시면
위와 같이 집계함수를 이용해 하나의 필드를 대상으로 추출한다면 결과가 9가 산출되지만
그룹이 지정되지 않은 상태에서 집계함수를 적용하는 필드외에 일반 필드가 함께 있다면 오류가 발생합니다.
이런 경우에는 반드시 그룹을 지정해야 합니다.
라고 되어있습니다.
2권 90 PAGE의 3번 문제의 경우 답이
SELECT SUM(psale)
FROM Sale
WHERE pid IN ( SELECT id FROM Product WHERE name LIKE 'USB%')
인데,
1-1. SUM이라는 집계함수를 사용하였지만
집계함수를 적용한 필드만 나타내게 하므로 GROUP BY가 필요없는건가요?
1-2. 그리고, WHERE name = 'USB%' 라고 하면 틀린건가요?
*,% ?,_ # 은 항상 LIKE와 같이 써야하나요?
2. 2권 123 PAGE 문제 8번의 답이 LEFT OUTER JOIN을 이용하였는데
2-1.
SELECT 학교명, 지역 FROM 학교
WHERE 학교명 NOT IN (SELECT 학교명 FROM 학과);
도 답이 되는지 궁금합니다.
2-2.
그리고 JOIN 문을 쓰라고 명시하지 않았는데, JOIN문을 써야하는 경우가 있나요?
3. 2권 135 PAGE 함수적 종속에 대해.
학번 1600125는 컴퓨터공학만 가르키므로 학번 -> 학과
라고 되어있는데, 학과도 오직 학번만을 가르키므로 학번 -> 학과 라고 해도 상관없지 않나요?
안녕하세요.
1)
집계함수는 그룹이 지정되지 않아도 사용이 가능합니다.
하지만 이런 경우 집계함수가 사용된 필드 하나에 대해서만 추출이 가능합니다.
문의하신 90쪽과 같이 pasle 필드 하나만 집계함수를 이용하여 추출하므로 그룹 지정 없이 사용이 가능한 것입니다.
% 대신 *을 사용해도 됩니다.
* 또는 %, ? 또는 _, #는 Like와 함께 사용해야 합니다.
2)
예, 결과가 동일하게 산출됩니다. 별도의 조건이 없다면 어느 것으로 하든 결과가 맞게 산출되므로 맞게 채점됩니다.
3)
예, 제시된 4개의 레코드만을 대상으로 한다면 학과도 학번을 결정할 수 있으므로 학과 → 학번으로도 표현할 수 있습니다.
오늘도 즐거운 하루 되세요.
-
*2017-05-29 13:49:13
안녕하세요.
1)
집계함수는 그룹이 지정되지 않아도 사용이 가능합니다.
하지만 이런 경우 집계함수가 사용된 필드 하나에 대해서만 추출이 가능합니다.
문의하신 90쪽과 같이 pasle 필드 하나만 집계함수를 이용하여 추출하므로 그룹 지정 없이 사용이 가능한 것입니다.
% 대신 *을 사용해도 됩니다.
* 또는 %, ? 또는 _, #는 Like와 함께 사용해야 합니다.
2)
예, 결과가 동일하게 산출됩니다. 별도의 조건이 없다면 어느 것으로 하든 결과가 맞게 산출되므로 맞게 채점됩니다.
3)
예, 제시된 4개의 레코드만을 대상으로 한다면 학과도 학번을 결정할 수 있으므로 학과 → 학번으로도 표현할 수 있습니다.
오늘도 즐거운 하루 되세요.