You are on page 1of 6

1.

Cho CSDL gm cc lc quan h sau: NCC(MSNCC, TnNCC, ach) Mthng(MSMH, TnMH, Musc) Cungcp(MSNCC, MSMH, Gitin) Hy vit cc cu truy vn SQL biu din cc yu cu sau: a. a ra tn ca nhng hng c cung ng t nht 1 mt hng mu
Select distinct TenNCC From NCC, Mathang as MH, Cungcap as CC Where NCC.MSNCC=CC.MSNCC and MH.MSMH = CC.MSMH and Mausac =

b. a ra m s ca cc hng c cung ng t nht 1 mt hng mu hoc 1 mt hng mu xanh


Select distinct MSNCC From Mathang as MH, Cungcap as CC Where MH.MSMH = CC.MSMH and (Mausac = or Mausac = Xanh)

c. a ra m s ca hng c cung ng t nht 1 mt hng mu v 1 mt hng mu xanh


Select distinct MSNCC From Mathang as MH, Cungcap as CC Where MH.MSMH = CC.MSMH and Mausac = INTERSECT Select distinct MSNCC From Mathang as MH, Cungcap as CC Where MH.MSMH = CC.MSMH and Mausac = Xanh

d. a ra m s ca hng cung ng tt c cc mt hng mu


Select MSNCC From Cungcap as CC, Mathang as MH Where CC.MSMH = MH.MSMH and Mausac = Group by MSNCC Having count(MSMH) = ( Select count(MSMH) From Mathang Where Mausac = )

e. a ra m s ca hng cung ng tt c cc mt hng mu v mu xanh


Select MSNCC From Cungcap as CC, Mathang as MH Where CC.MSMH = MH.MSMH and Mausac = Group by MSNCC Having count(MSMH) = ( Select count(MSMH) From Mathang Where Mausac = ) INTERSECT Select MSNCC From Cungcap as CC, Mathang as MH Where CC.MSMH = MH.MSMH and Mausac = Xanh Group by MSNCC Having count(MSMH) = ( Select count(MSMH) From Mathang Where Mausac = Xanh )

f. a ra m s ca hng cung ng tt c cc mt hng mu hoc tt c cc mt hng mu xanh


Select MSNCC From Cungcap as CC, Mathang as MH Where CC.MSMH = MH.MSMH and Mausac = Group by MSNCC Having count(MSMH) = ( Select count(MSMH) From Mathang Where Mausac = ) UNION Select MSNCC From Cungcap as CC, Mathang as MH Where CC.MSMH = MH.MSMH and Mausac = Xanh Group by MSNCC Having count(MSMH) = ( Select count(MSMH) From Mathang Where Mausac = Xanh )

g. a ra cp m s ca hng cung ng sao cho hng cung ng tng ng vi m s th nht cung cp mt mt hng no vi gi cao hn so vi gi m hng tng ng vi m s th hai cung cp cng mt hng
Select CC1.MSNCC, CC2.MSNCC From Cungcap as CC1, Cungcap as C2 Where CC1.MSMH = CC2.MSMH and CC1.Giatien > CC2.Giatien

h. a ra m s ca mt hng c cung cp bi t nht hai hng cung ng

Select MSMH From Cungcap as CC Group by MSMH Having count(MSNCC) >=2

i. a ra m s ca mt hng t nht c cung cp bi hng Dustin


Select MSMH From Cungcap as CC, NCC Where CC.MSNCC = NCC.MSNCC and TenNCC = Dustin and Giatien >= ALL ( Select Giatien From Cungcap as CC, NCC Where CC.MSNCC = NCC.MSNCC and TenNCC = Dustin)

j. a ra m s ca mt hng c cung ng bi tt c cc hng m gi tin u nh hn 200.


Select MSMH From Cungcap Where Giatien <200 Group by MSMH Having count(MSNCC) = ( Select count(MSNCC) From NCC)

2. Xt c s d liu gm cc lc sau: Nhnvin(MSNV, Htn, Tui, Lng) Phng(MSP, TnPhng, aim, Ngnqu, MSTrngphng) Lmvic (MSNV, MSP, Thigian) Hy vit cc truy vn sau bng SQL a. a ra tn v tui ca cc nhn vin lm vic cho c phng T chc v K hoch
Select From Where Hoten, Tuoi Nhanvien as NV, Phong as P, Lamviec as LV NV.MSNV=LV.MSNV and P.MSP = LV.MSP and Tenphong = To chuc and NV.MSNV in (select MSNV From Phong as P, Lamviec as LV Where P.MSP = LV.MSP and Tenphong = Ke hoach)

b. Vi mi phng vi trn 20 nhn vin, hy a ra m s phong v s nhn vin lm trong phng


Select MSP, count(MSNV)

From Where Group by Having

Phong as P, Lamviec as LV P.MSP = LV.MSP MSP count(MSNV) > 20

c. a ra tn ca cc nhn vin m lng ca h cao hn c ngn qu ca tt c cc phng m nhn vin lm vic


Select From Where Hoten Nhanvien as luong > ALL (Select From Where NV nganquy Phong as P, Lamviec as LV P.MSP = LV.MSP and LV.MSNV = NV.MSNV)

d. a ra m s trng phng ca nhng ngi trng phng m cc phng h qun l u c ngn qu > 1,000,000
Select From Group by Having MSTruongPhong Phong MSTruongPhong Min(nganquy) > 1,000,000

e. a ra tn ca ngi trng phng m phng c ngn qu ln nht


Select From Where Hoten Nhanvien as NV, Lamviec as LV, Phong as P NV.MSNV=LV.MSNV and LV.MSP=P.MSP nganquy > = (Select max(nganquy) From Phong)

f. Nu mt ngi c th qun l nhiu phng, ngi c quyn kim sot ngn qu ca tt c cc phgn . Hy a ra m s ca ngi trng phng m tng s ngn qu c kim sot bi ngi > 5,000,000
Select From Group by Having MSTruongPhong Phong MSTruongPhong Sum(nganquy) > 5,000,000

3. Cho CSDL gm cc lc quan h sau. Biu din cc truy vn sau bng SQL Nhnvin(MNV, Htn, Ngy sinh, MP) Phng(MP, TnP, aim, ST) D n(MDA, TnDA, Ngn sch) Thamgia(MNV, MDA, Sgithamgia)

Hy vit biu thc SQH biu din cc yu cu truy vn sau: a. a ra tn ca cc d n c ngn sch nm trong khong t 50,000 n 100,000
Select From Where TenDA Duan ngansach >=50,000 and ngansach<=100,000

b. a ra h tn ca cc nhn vin c tham gia lm d n Qun l o to


Select From Where Hoten Nhanvien as NV, Duan as DA, Thamgia as TG NV.MaNV = TG.maNV and DA.maDA = TG.maDA and tenDA = Quan ly dao tao

c. a ra m s ca cc nhn vin tham gia c hai d n Qun l o ta v o to t xa


Select MaNV From Duan as Where DA.maDA INTERSECT Select MaNV From Duan as Where DA.maDA DA, Thamgia as TG = TG.maDA and tenDA = Quan ly dao tao DA, Thamgia as TG = TG.maDA and tenDA = Dao tao tu xa

d. a ra m s ca cc nhn vin tham gia d n Qun l o to nhng khng tham gia d n o to t xa


Select From Where MINUS Select From Where MaNV Duan as DA, Thamgia as TG DA.maDA = TG.maDA and tenDA = Quan ly dao tao MaNV Duan as DA, Thamgia as TG DA.maDA = TG.maDA and tenDA = Dao tao tu xa

e. a ra m s ca phng khng c nhn vin no tham gia d n


Select From MINUS Select From Where MaP Phong MaP Thamgia as TG, Nhanvien as NV NV.maNV = TG.maNV

f. D n no c tt c cc nhn vin ca phng NCKH tham gia?


Select From Where maDA Duan as DA, Thamgia as TG, Nhanvien as NV, Phong as P DA.maDA = TG.maDA and TG.maNV=NV.maNV and

NV.maP = P.maP and P.TenP = NCKH Group by maDA Having count(maNV) = (select count(maNV) From Nhanvien as NV, Phong as P Where NV.maP = P.maP and TenP = NCKH)

g. Ngn sch trung bnh ca cc d n m nhn vin c m s NV001 tham gia l bao nhiu?
Select From Where avg(ngansach) Duan as DA, Thamgia as TG DA.maDA = TG.maDA and maNV = NV001

h. C bao nhiu nhn vin tham gia d n Qun l o to?


Select From Where count(MaNV) Duan as DA, Thamgia as TG DA.maDA = TG.maDA and tenDA = Quan ly dao tao

i. Hy a ra tn ca cc d n m s nhn vin tham gia d n < 10


Select From Where Group by Having TenDA Duan as DA, Thamgia as TG DA.maDA = TG.maDA maDA, TenDA count(maNV) < 10

j. D n no c s nhn vin tham gia ln nht


Select From Where Group by Having DA.maDA, TenDA, ngansach Duan as DA, Thamgia as TG DA.maDA = TG.maDA DA.maDA, TenDA, ngansach count(maNV) >= ALL (select From Group by

count(maNV) Thamgia maDA)

You might also like