p.370 기출문제 따라잡기 3번
3번의 정답은 ②이며, 그 이유로는
"DISTINCT는 결과에 대한 중복 값을 제거하는 것인데, 여기서는 의미 없이 사용되었습니다"라고 되어 있습니다.
P. 387 4번 문제에서는,
'City' 필드를 추출하되, 중복되는 값은 한 번만 표시합니다.'라고 설명하고 있습니다.
두 문제 다 DISTINCT를 사용하는데 p. 370 3번 문제에서
'성명' 필드의 '이'가 중복되는데도 개수가 1개로 계산하지 않고 2로 되는지 잘 이해가 가지 않습니다.
P. 387 4번 문제와 비교해서 설명 부탁드립니다.
안녕하세요.
Distinct는 속성(필드) 명과 함께 사용되면서, 함께 기술된 속성(필드)에 중복 값을 제거하는 것입니다.
하지만 이 문제는 Distinct가 속성(필드)명이 아니라 함수와 함께 사용되어 Distinct의 기능이 적용되지 않아, 의미 없이 사용되었다는 표현을 사용한 것입니다.
즉 Distinct를 사용하든 사용하지 않는 COUNT(성명)의 결과는 3입니다.
387쪽의 Distinct는 하위 쿼리에 사용되어
Select Distinct City From Customer;에서 City 필드의 값에서 중복된 값을 우선 제거합니다.
그 결과 추출된 레코드를 대상으로 개수를 구하는 것이죠.
Distinct는 이와 같이 필드명을 바로 뒤에 함께 기술해야 의미가 있습니다.
오늘도 즐거운 하루 되세요.
-
관리자2025-07-22 09:45:04
안녕하세요.
Distinct는 속성(필드) 명과 함께 사용되면서, 함께 기술된 속성(필드)에 중복 값을 제거하는 것입니다.
하지만 이 문제는 Distinct가 속성(필드)명이 아니라 함수와 함께 사용되어 Distinct의 기능이 적용되지 않아, 의미 없이 사용되었다는 표현을 사용한 것입니다.
즉 Distinct를 사용하든 사용하지 않는 COUNT(성명)의 결과는 3입니다.
387쪽의 Distinct는 하위 쿼리에 사용되어
Select Distinct City From Customer;에서 City 필드의 값에서 중복된 값을 우선 제거합니다.
그 결과 추출된 레코드를 대상으로 개수를 구하는 것이죠.
Distinct는 이와 같이 필드명을 바로 뒤에 함께 기술해야 의미가 있습니다.
오늘도 즐거운 하루 되세요.