from sinhvien sv,dangky dk where sv.mssv=dk.mssv group by sv.mssv having count(*)>1. --10 DiemTB cua sv ten AN select avg(diem) as DiemTB from sinhvien sv,dangky dk[r]
(1)************** BAI ************* CSDL : NHACUNGCAP CUNGCAP MATHANG it nhat
select TENNCC
FROM NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC
WHERE NCC.MASONCC=CC.MASONCC AND CC.MASOMH=MH.MASOMH AND MAUSAC='do' group by tenncc
having count(*)>0
it nhat hoac xanh select ncc.masoncc
FROM NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC
WHERE NCC.MASONCC=CC.MASONCC AND CC.MASOMH=MH.MASOMH AND (MAUSAC='do' OR MAUSAC='xanh')
group by NCC.MASONCC having count(*)>0
it nhat va xanh select ncc.masoncc
FROM NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC in (select ncc.masoncc
FROM NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
CC.MASOMH=MH.MASOMH AND MAUSAC='do'
(2)FROM NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
CC.MASOMH=MH.MASOMH AND MAUSAC='xanh'
group by ncc.masoncc having count(*)>0) group by NCC.MASONCC
having count(*)>0
all
select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC
WHERE NCC.MASONCC=CC.MASONCC AND CC.MASOMH=MH.MASOMH and mh.masomh in(select masomh
from mathang where mausac='do') group by ncc.masoncc
having count(*)=(select count(*) from mathang where mausac='do')
all va xanh select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC
where NCC.MASONCC=CC.MASONCC AND CC.MASOMH=MH.MASOMH and ncc.masoncc in(select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
(3)and mh.masomh in(select masomh
from mathang where mausac='do') group by ncc.masoncc
having count(*)=(select count(*) from mathang where mausac='do'))
and ncc.masoncc in(select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
CC.MASOMH=MH.MASOMH
and mh.masomh in(select masomh
from mathang
where mausac='xanh') group by ncc.masoncc
having count(*)=(select count(*) from mathang where mausac='xanh'))
select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC
where NCC.MASONCC=CC.MASONCC AND CC.MASOMH=MH.MASOMH and (ncc.masoncc in(select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
CC.MASOMH=MH.MASOMH
and mh.masomh in(select masomh
(4)where mausac='do') group by ncc.masoncc
having count(*)=(select count(*) from mathang where mausac='do'))
or ncc.masoncc in(select NCC.masoncc
from NHACUNGCAP NCC,MATHANG MH,CUNGCAP CC WHERE NCC.MASONCC=CC.MASONCC AND
CC.MASOMH=MH.MASOMH
and mh.masomh in(select masomh
from mathang
where mausac='xanh') group by ncc.masoncc
having count(*)=(select count(*) from mathang where mausac='xanh'))
)
group by ncc.masoncc
ma so mh dc cung ung it nhat nha cung cap select mh.masomh
from nhacungcap ncc,mathang mh,cungcap cc
where ncc.masoncc=cc.masoncc and mh.masomh=cc.masomh group by mh.masomh
having count(*)>1
(5)from mathang
where masomh in(select top mh.masomh
from nhacungcap ncc,mathang mh,cungcap cc
where ncc.masoncc=cc.masoncc and mh.masomh=cc.masomh and ncc.tenncc='an_1'
order by cc.giatien desc)
10 ma so mat hang dc cung cap boi tat ca cac hang ma gia tien deu <200 select mh.masomh
from nhacungcap ncc,mathang mh,cungcap cc
where ncc.masoncc=cc.masoncc and mh.masomh=cc.masomh and cc.giatien<200 group by mh.masomh
having count(*)=(select count(*)from nhacungcap)
****************** bai **************** CSDL : NHANVIEN PHONG LAMVIEC TEN + TUOI NV LAM TRONG CA PHONG TO CHUC VA KE HOACH
select nv.hoten, nv.tuoi
from nhanvien nv,phong p,lamviec lv
where nv.msnv=lv.msnv and p.msp=lv.msp and p.tenphong='to chuc' and nv.msnv in(select nv.msnv
from nhanvien nv,phong p,lamviec lv where nv.msnv=lv.msnv and p.msp=lv.msp and p.tenphong='ke hoach')
(6)from phong p, lamviec lv where p.msp=lv.msp group by p.msp having count(*)>4
ko ro~
mstruongphong dk ngan quy phong ho quan ly > 1000 select mstruongphong
from phong
where nganquy>1000
ten truong phong ngan quy max // tren may khac tren tap select hoten
from nhanvien
where msnv in(select top mstruongphong from phong
order by nganquy desc)
ko co nv quan ly phong // lam bieng :))
****************** BAI **************** TEN DA NGAN SACH BETWEEN 50000 -> 100000 select TENDA
from duan_c3
(7)HOTEN NHAN VIEN THAM GIA DU AN "QL_KS" select hoten
from nhanvien_c3 nv, duan_c3 da, thamgia_c3 th
where nv.manv=th.manv and da.mada=th.mada and da.tenda='QL_KS'
manv THAM GIA DU AN "QL_KS" and "QLDL" select nv.manv
from nhanvien_c3 nv, duan_c3 da, thamgia_c3 th
where nv.manv=th.manv and da.mada=th.mada and da.tenda='QL_KS' and nv.manv in(select nv.manv
from nhanvien_c3 nv, duan_c3 da, thamgia_c3 th where nv.manv=th.manv and da.mada=th.mada and da.tenda='QLDL')
manv THAM GIA DU AN "QL_KS" NHUNG KO THAM GIA "QLDL" select nv.manv
from nhanvien_c3 nv, duan_c3 da, thamgia_c3 th
where nv.manv=th.manv and da.mada=th.mada and da.tenda='QL_KS' and nv.manv not in(select nv.manv
from nhanvien_c3 nv, duan_c3 da, thamgia_c3 th where nv.manv=th.manv and da.mada=th.mada and da.tenda='QLDL')
(8)select map from phong_c3
where map not in(select distinct p.map
from nhanvien_c3 nv,phong_c3 p, thamgia_c3 th where nv.manv=th.manv and p.map=nv.map)
HD : tim` phong` co' nv tham gia du an ==> NOT IN ==> phong ko tham gia
ten du an co tat ca nv phong "NCKH" tham du select mada
from nhanvien_c3 nv,thamgia_c3 th
where nv.manv=th.manv and nv.manv in (select manv from nhanvien_c3 nv, phong_c3 p where nv.map=p.map and p.tenp='NCKH')
group by mada
having count(*) = (select count(*)from nhanvien_c3 nv, phong_c3 p where nv.map=p.map and p.tenp='NCKH')
ngan sach trung binh cac du an ma NV2 tham gia select avg(ngansach) as NSTB
from thamgia_c3 th, duan_c3 da
where th.mada=da.mada and th.manv='NV2'
co bao nhieu nv tham du vao du an "QLKS" select count(*) as SONV
from thamgia_c3 th, duan_c3 da
(9)dua ten du an ma so nv tham gia <3 select tenda
from thamgia_c3 th,duan_c3 da where th.mada=da.mada group by tenda
having count(*)>3
10 du an nao co so nv tham gia max select top mada,count(*) as sonv from thamgia_c3
group by mada
order by count(*) desc
**************** cau *********** SINHVIEN MONHOC DANGKY ten cac mon hoc
select tenmh from monhoc
MSSV HOTEN NGAY SINH cua SV o HA NOI select MSSV, HOTEN, NGAYSINH
FROM SINHVIEN
WHERE QUEQUAN='HA NOI'
(10)SELECT SV.MSSV,MH.MSMH
FROM SINHVIEN SV, MONHOC MH, DANGKY DK
WHERE SV.MSSV=DK.MSSV AND MH.MSMH=DK.MSMH AND (MH.MSMH='MH1' OR MH.MSMH='MH2')
ten MH ma SV 07001T hoc SELECT TENMH
FROM MONHOC MH, DANGKY DK
WHERE MH.MSMH=DK.MSMH AND DK.MSSV='07001T'
HOTEN SV dang ky it nhat mon dzo LE MAU LONG day select hoten
from sinhvien sv,monhoc mh, dangky dk
where sv.mssv=dk.mssv and mh.msmh=dk.msmh and mh.tengv='Le Mau Long' group by hoten
having count(*)>0
TENMH + DIEM sv co ten la LAN select TENMH,DIEM
FROM SINHVIEN SV,MONHOC MH,DANGKY DK
WHERE SV.MSSV=DK.MSSV AND MH.MSMH=DK.MSMH AND SV.HOTEN='LAN'
MSSV hoc tat ca cac mon ma NGuyen Ngoc Long day SELECT MSSV
FROM MONHOC MH, DANGKY DK
(11)GROUP BY MSSV
HAVING COUNT(*)=(SELECT COUNT(*)FROM MONHOC WHERE TENGV='NGUYEN NGOC LONG')
tenmh ko co sv dang ky select tenmh
from monhoc mh
where mh.msmh not in(select msmh from dangky)
mssv dk tu mon hoc tro len (it nhat 3) select sv.mssv
from sinhvien sv,dangky dk where sv.mssv=dk.mssv group by sv.mssv having count(*)>1
10 DiemTB cua sv ten AN select avg(diem) as DiemTB from sinhvien sv,dangky dk
where sv.mssv=dk.mssv and sv.hoten='an'
11 MSSV dat diem cao nhat mon CSDL //luu y lam tren giay bo top select SELECT TOP MSSV
FROM SINHVIEN
WHERE MSSV IN(SELECT TOP SV.MSSV
(12)WHERE SV.MSSV=DK.MSSV AND MH.MSMH=DK.MSMH AND MH.TENMH='CO SO DU LIEU'