12) 학과가 '컴퓨터'인 학생들이 수강신청한 과목의 과목명을 출력
SELECT distinct cname
FROM enrol e JOIN student s ON e.sno=s.sno JOIN course c ON c.cno = e.cno
WHERE sdept='컴퓨터'
13) 학과가 '컴퓨터'이고 과목명이 '데이터베이스'인 과목을 수강신청한 학생의 학번, 이름, 학점을 학번순으로 출력
SELECT s.sno,sname,grade
FROM enrol e JOIN student s ON e.sno=s.sno JOIN course c ON c.cno = e.cno
WHERE sdept ='컴퓨터' and cname='데이터베이스'
ORDER BY s.sno
* 집계함수(Aggregate Function)
Count -> *,distinct 사용가능, 값의 개수
Min -> 최소값
Max -> 최대값
Sum -> 합계
Avg -> 평균
만약 SELECT Count(*) FROM student; 를 해주었을때 나오는 개수는Primary Key의 개수와 동일하다.
또한 Column 안에 NULL 값을 가진 데이터가 존재한다면 그 데이터는 개수로 치지 않는다.
15) 수강신청한 학생의 수는 몇명?
SELECT count(distinct sno)
FROM enrol
16) 학번이 '300'인 학생이 등록한 과목의 개수
SELECT count(cno)
FROM enrol
WHERE sno='300'
17) 과목명 'C413'에 대한 중간성적의 평균
SELECT avg(midterm)
FROM enrol
WHERE cno='C413'