수업중 학생들에게 내 준 SQL quiz문제, 도전해보시라.
시험조건 : open book, 30 분
당연히 틀릴 줄
알았던, 5번을 거의 정확하게 푼 학생까지 있었다.
한편 다섯문제 다
완전히 틀려서 0점 받은 학생도 있었지만.. ^^
다음 릴레이션을 보고
다음 답변을 해주세요.
STUDENT (SID, SNAME, STARTYEAR, DID)
DEPARTMENT (DID, DNAME)
PROFESSOR(PID, PNAME, DID)
COURSE(CID, CNAME, DID,
ROOM, PID)
ENROLL(SID, CID)
1) 개설된 과목 중
수강인원이 3명 이하인 과목을 찾는 SQL을
작성하세요. 과목명이 노출되도록 해주세요. (수강생이 0
인 과목은 없다고 가정합니다)
select c
.cname, count
(*) as '수강생수'
where
group by
having
2) “동물학과” 소속의 교수가
개설한 과목을 듣는 학생들을 검색하는 SQL을 작성하세요. 학번과 학생이름이 출력되도록 해주세요.
select distinct
s.sid, s.sname
where
3) 각 과목마다, 입학년도 별 수강인원을 알아내는 SQL
을 작성하세요. 과목명이 노출되도록 해주세요.
select c.cname, s.startyear, count(*) as '학년별수강생수 '
where
group by
4) 각 과목마다, 신입생(=2008년 입학생)과
재학생 수강생을 출력하세요. (다음 형태를 활용하세요. case when condition then value-for-true else value-for-false end )
select
c.cname,
case
when startyear =
2008 then '
신입생' as
'학생구분' ,
as '수강생수'
where
group
by
5) 신입생 수강 비율이
가장 높은 과목을 찾는 SQL을 작성하세요. 과목명과 신입생 비율이 노출되도록 해주세요.
select
from
where
group by
order by



