1999년04월18일 10번
[데이터 베이스] 만약 학생(STUDENT) 테이블에 전산과 학생이 50명, 전자과 학생이 100명, 기계과 학생이 50명 있다고 할 때 다음 SQL 문 (ㄱ),(ㄴ),(ㄷ) 의 실행 결과 튜플 수는 각각 얼마인가? (단 DEPT 필드는 학과명을 의미한다.)

- ① (ㄱ) 3 (ㄴ) 3 (ㄷ) 1
- ② (ㄱ) 200 (ㄴ) 3 (ㄷ) 1
- ③ (ㄱ) 200 (ㄴ) 3 (ㄷ) 50
- ④ (ㄱ) 200 (ㄴ) 200 (ㄷ) 50
(정답률: 42%)
문제 해설
정답은 "(ㄱ) 200 (ㄴ) 3 (ㄷ) 1" 이다.
(ㄱ)의 경우, UNION 연산자는 중복을 제거하지 않고 모든 결과를 합친다. 따라서 전산과, 전자과, 기계과 학생 수를 모두 합한 200개의 튜플이 결과로 나온다.
(ㄴ)의 경우, GROUP BY 절에서 DEPT 필드를 기준으로 그룹화를 하고 COUNT 함수를 사용하여 각 그룹의 개수를 구한다. 따라서 전산과, 전자과, 기계과 3개의 그룹이 있으므로 결과는 3개의 튜플이 나온다.
(ㄷ)의 경우, WHERE 절에서 DEPT 필드가 '전자과'인 학생만 선택하므로 전자과 학생 수인 100개의 튜플이 결과로 나온다.
(ㄱ)의 경우, UNION 연산자는 중복을 제거하지 않고 모든 결과를 합친다. 따라서 전산과, 전자과, 기계과 학생 수를 모두 합한 200개의 튜플이 결과로 나온다.
(ㄴ)의 경우, GROUP BY 절에서 DEPT 필드를 기준으로 그룹화를 하고 COUNT 함수를 사용하여 각 그룹의 개수를 구한다. 따라서 전산과, 전자과, 기계과 3개의 그룹이 있으므로 결과는 3개의 튜플이 나온다.
(ㄷ)의 경우, WHERE 절에서 DEPT 필드가 '전자과'인 학생만 선택하므로 전자과 학생 수인 100개의 튜플이 결과로 나온다.
연도별
- 2020년08월22일
- 2020년06월06일
- 2019년08월04일
- 2019년04월27일
- 2019년03월03일
- 2018년08월19일
- 2018년04월28일
- 2018년03월04일
- 2017년08월26일
- 2017년05월07일
- 2017년03월05일
- 2016년08월21일
- 2016년05월08일
- 2016년03월06일
- 2015년08월16일
- 2015년05월31일
- 2015년03월08일
- 2014년08월17일
- 2014년05월25일
- 2014년03월02일
- 2013년08월18일
- 2013년06월02일
- 2013년03월10일
- 2012년08월26일
- 2012년05월20일
- 2012년03월04일
- 2011년08월21일
- 2011년06월12일
- 2011년03월20일
- 2010년09월05일
- 2010년05월09일
- 2010년03월07일
- 2009년08월30일
- 2009년05월10일
- 2009년03월01일
- 2008년09월07일
- 2008년05월11일
- 2008년03월02일
- 2007년09월02일
- 2007년05월13일
- 2007년03월04일
- 2006년09월10일
- 2006년05월14일
- 2006년03월05일
- 2005년09월04일
- 2005년05월29일
- 2005년03월20일
- 2005년03월06일
- 2004년09월05일
- 2004년05월23일
- 2004년03월07일
- 2003년08월31일
- 2003년05월25일
- 2003년03월16일
- 2002년09월08일
- 2002년05월26일
- 2002년03월10일
- 2001년09월23일
- 2001년06월03일
- 2001년03월04일
- 2000년10월01일
- 2000년07월23일
- 2000년05월14일
- 2000년03월12일
- 1999년10월10일
- 1999년08월08일
- 1999년06월20일
- 1999년04월18일
진행 상황
0 오답
0 정답