You are on page 1of 5

Bài 2

1)
SELECT mamh, tenmh
FROM monhoc
WHERE (mabm = 'BM1') AND (mamh NOT IN
(SELECT mamh
FROM day))

2) C1: (dở)
SELECT DISTINCT M.mamh, M.tenmh
FROM monhoc AS M INNER JOIN
day AS D ON M.mamh = D.mamh
WHERE (M.mamh IN
(SELECT DISTINCT mamh
FROM monhoc)) AND (D.magv = 'GV8')
intersect
SELECT DISTINCT mamh, tenmh
FROM monhoc AS M
WHERE (mabm NOT IN
(SELECT mabm
FROM giangvien
WHERE (magv = 'GV8')))

C2 : (hay)
SELECT mamh, tenmh
FROM monhoc
WHERE mamh IN
(SELECT mamh
FROM day
WHERE magv = 'GV4') AND mamh NOT IN
(SELECT mamh
FROM monhoc
WHERE mabm IN
(SELECT mabm
FROM giangvien
WHERE magv = 'GV4'))

 Mức 2 :
read(terminal, $magv),
select 1
from gv1
where magv=$magv,
if #found then
select mamh, tenmh
from mh1
where mamh IN ( select mamh
from day1
where magv=$magv)
and mamh NOT IN (select mamh
from mh1
where mabm IN ( select mabm
from gv1
magv=$magv))
else
begin
select 1
from gv2
where magv=$magv,
if #found then
select mamh, tenmh
from mh2
where mamh IN ( select mamh
from day2
where magv=$magv)
and mamh NOT IN (select mamh
from mh2
where mabm IN ( select mabm
from gv2
magv=$magv))
end

3)
SELECT DISTINCT mabm, tenbm
FROM bomon
WHERE (mabm IN
(SELECT mabm
FROM giangvien
WHERE (phai = 'Nam') AND (magv NOT IN
(SELECT magv
FROM day))))

4)
SELECT mada, tenda
FROM dean
WHERE (magv = 'GV1') AND (ketqua = 'Tot')

5) ---gần giống câu 2 (dở)


SELECT DISTINCT M.mamh, M.tenmh
FROM monhoc AS M INNER JOIN
day AS D ON M.mamh = D.mamh
WHERE (M.mamh IN
(SELECT DISTINCT mamh
FROM monhoc)) AND (D.magv = '$magv')
EXCEPT
SELECT DISTINCT mamh, tenmh
FROM monhoc AS M
WHERE (mabm NOT IN
(SELECT mabm
FROM giangvien
WHERE (magv = '$magv')))

6)
SELECT mada, tenda
FROM dean
WHERE (magv IN
(SELECT magv
FROM giangvien
WHERE (mabm = 'BM1')))

7)
SELECT DISTINCT mamh, tenmh
FROM monhoc
WHERE (mamh NOT IN
(SELECT mamh
FROM day))

9)
SELECT DISTINCT giangvien.magv, giangvien.hoten
FROM giangvien INNER JOIN
bomon ON giangvien.mabm = bomon.mabm
WHERE (giangvien.tuoi > 50) AND (bomon.tenbm = '$tenbm')

- Chọn magv có tuổi lớn nhất khi biết mabm


SELECT DISTINCT magv, hoten
FROM giangvien
WHERE (tuoi =
(SELECT MAX(tuoi) AS Expr1
FROM giangvien AS giangvien_1
WHERE (mabm = 'BM1')))

10)
SELECT DISTINCT magv, hoten
FROM giangvien AS G
WHERE (tuoi =
(SELECT MAX(tuoi) AS Expr1
FROM giangvien
WHERE (mabm = G.mabm)))

11)
SELECT COUNT(somonhoc) AS Expr1
FROM (SELECT DISTINCT mamh AS somonhoc
FROM day
WHERE (magv IN
(SELECT magv
FROM giangvien
WHERE (mabm = '$mabm')))) AS derivedtbl_1

12)
--- Liệt kê magv, hoten, tongsotietday cua giangvien co mabm=’BM1’
SELECT DISTINCT table2.magv, table2.hoten, table2.tongsotietday
FROM (SELECT DISTINCT magv, hoten, SUM(sotiet) AS tongsotietday
FROM (SELECT D.magv, G.hoten, M.sotiet
FROM day AS D INNER JOIN
monhoc AS M ON D.mamh = M.mamh INNER JOIN
giangvien AS G ON D.magv = G.magv) AS table1
GROUP BY magv, hoten) AS table2 INNER JOIN
giangvien ON table2.magv = giangvien.magv
WHERE (giangvien.mabm = 'BM1')

13)
SELECT DISTINCT magv, hoten
FROM giangvien
WHERE (magv NOT IN
(SELECT magv
FROM day))

14)
SELECT SUM(sotiet) AS Expr1
FROM monhoc
WHERE (mabm = '$mabm') AND (mamh IN
(SELECT mamh
FROM day))

15)
SELECT DISTINCT magv, hoten
FROM giangvien
WHERE (magv IN
(SELECT magv
FROM day
GROUP BY magv
HAVING (COUNT(magv) >= ALL
(SELECT DISTINCT COUNT(magv) AS Expr1
FROM day AS day_1
GROUP BY magv))))

16)
SELECT bomon.mabm, bomon.tenbm, COUNT(monhoc.mamh) AS Soluongmonhoc
FROM bomon INNER JOIN
monhoc ON bomon.mabm = monhoc.mabm
GROUP BY bomon.mabm, bomon.tenbm
HAVING (COUNT(monhoc.mamh) > 2)

17)
SELECT bomon.mabm, bomon.tenbm, COUNT(giangvien.magv) AS Soluonggiangvien
FROM bomon INNER JOIN
giangvien ON bomon.mabm = giangvien.mabm
GROUP BY bomon.mabm, bomon.tenbm
HAVING (COUNT(giangvien.magv) > 3)

18) --- tương tự bài 15 C1 (dở)


SELECT DISTINCT mamh, tenmh
FROM monhoc
WHERE (mamh IN
(SELECT mamh
FROM day
GROUP BY mamh
HAVING (COUNT(mamh) >= ALL
(SELECT DISTINCT COUNT(mamh) AS Expr1
FROM day AS day_1
GROUP BY mamh))))

C2 (hay)
SELECT mamh, tenmh
FROM monhoc
WHERE mamh IN
(SELECT mamh
FROM day
GROUP BY mamh
HAVING COUNT(magv) >= ALL
(SELECT COUNT(magv) AS Expr1
FROM day AS day_1
GROUP BY mamh))

19)
SELECT DISTINCT magv, hoten
FROM giangvien
WHERE (mabm = ‘$mabm') AND (magv NOT IN
(SELECT magv
FROM day))

Bài 5:
1)
SELECT lop.khoa
FROM lop INNER JOIN
sinhvien ON lop.mslop = sinhvien.mslop
WHERE (sinhvien.mssv = '$mssv')

2)
SELECT dangky.diem1, dangky.diem2, dangky.diem3
FROM dangky INNER JOIN
sinhvien ON dangky.mssv = sinhvien.mssv
WHERE (sinhvien.mssv = '$mssv')

Bài 6:
1)
SELECT cauthu.mact, cauthu.hoten
FROM cauthu INNER JOIN
doibong ON cauthu.madb = doibong.madb
WHERE (doibong.clbo = '$clbo')

2)
SELECT COUNT(matd) AS Expr1
FROM thamgia
WHERE (mact IN
(SELECT mact
FROM cauthu
WHERE (hoten = '$hoten')))

You might also like