수업중 학생들에게 내 준 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 '수강생수'
from

where

group by

having

2)      동물학과소속의 교수가 개설한 과목을 듣는 학생들을 검색하는 SQL을 작성하세요. 학번과 학생이름이 출력되도록 해주세요.

select   distinct s.sid, s.sname

from

where

3)     각 과목마다, 입학년도 별 수강인원을 알아내는 SQL을 작성하세요. 과목명이 노출되도록 해주세요.

select   c.cname, s.startyear, count(*) as '학년별수강생수'

from

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 '수강생수'

from

where

group by

5)     신입생 수강 비율이 가장 높은 과목을 찾는 SQL을 작성하세요. 과목명과 신입생 비율이 노출되도록 해주세요.

select

from

where

group by

order by

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 메바21


Trackback URL : http://kunno.net/trackback/66

Leave a comment
« Previous : 1 : 2 : 3 : 4 : 5 : 6 : ... 48 : Next »

블로그 이미지

생각하는 개발자, 경험공간.

- 메바21

Calendar

«   11 2009   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Site Stats

Total hits:
179524
Today:
12
Yesterday:
8
Statistics Graph