Professional Documents
Culture Documents
d. Cho biết tên tỉnh, số lượng cầu thủ đang thi đấu ở vị trí tiền đạo trong các câu lạc
bộ thuộc địa bàn tỉnh đó quản lý.
SELECT TINH.TENTINH, COUNT(MACT) AS N'Số lượng cầu thủ chơi vị trí tiền đạo'
FROM TINH, CAULACBO AS CLB, CAUTHU AS CT
WHERE TINH.MATINH = CLB.MATINH AND CT.MACLB = CLB.MACLB and CT.VITRI
= N'Tiền đạo'
GROUP BY TINH.TENTINH
e. Cho biết tên câu lạc bộ, tên tỉnh mà CLB đang đóng nằm ở vị trí cao nhất của
bảng xếp hạng vòng 3, năm 2009.
SELECT TOP 1 CLB.TENCLB, TINH.TENTINH
FROM BANGXH, CAULACBO AS CLB, TINH
WHERE BANGXH.MACLB = CLB.MACLB AND TINH.MATINH = CLB.MATINH AND
BANGXH.VONG = 3
ORDER BY BANGXH.DIEM DESC
3. Các toán tử nâng cao
a. Cho biết tên huấn luyện viên đang nắm giữ một vị trí trong một câu lạc bộ mà
chưa có số điện thoại.
SELECT TENHLV FROM HUANLUYENVIEN WHERE DIENTHOAI IS NULL
b. Liệt kê các huấn luyện viên thuộc quốc gia Việt Nam chưa làm công tác huấn
luyện tại bất kỳ một câu lạc bộ nào.
SELECT HLV.MAHLV, HLV.TENHLV
FROM HUANLUYENVIEN AS HLV, CAULACBO AS CLB, HLV_CLB AS HVB
WHERE HLV.MAHLV = HVB.MAHLV AND CLB.MACLB = HVB.MACLB
AND HLV.MAQG = 'VN' AND HVB.VAITRO IS NULL
c. Liệt kê các cầu thủ đang thi đấu trong các câu lạc bộ có thứ hạng ở vòng 3 năm
2009 lớn hơn 6 hoặc nhỏ hơn 3.
SELECT DISTINCT CT.HOTEN FROM
BANGXH
INNER JOIN
CAULACBO AS CLB ON BANGXH.MACLB = CLB.MACLB
INNER JOIN
CAUTHU AS CT ON CLB.MACLB = CT.MACLB
WHERE BANGXH.VONG = 3 AND BANGXH.HANG < 3 OR BANGXH.HANG > 6
d. Cho biết danh sách các trận đấu (NGAYTD, TENSAN, TENCLB1, TENCLB2,
KETQUA) của câu lạc bộ (CLB) đang xếp hạng cao nhất tính đến hết vòng 3 năm
2009.
SELECT DISTINCT CT.HOTEN FROM
BANGXH
INNER JOIN
CAULACBO AS CLB ON BANGXH.MACLB = CLB.MACLB
INNER JOIN
CAUTHU AS CT ON CLB.MACLB = CT.MACLB
WHERE BANGXH.VONG = 3 AND BANGXH.HANG < 3 OR BANGXH.HANG > 6
b. Cho biết mã số, họ tên, ngày sinh của những cầu thủ có họ lót là “Công”
SELECT MACT , HOTEN, NGAYSINH
FROM CAUTHU
WHERE HOTEN LIKE N'%_cÔNG_%'
c. Cho biết mã số, họ tên, ngày sinh của những cầu thủ có họ không phải là họ
“Nguyễn “.
SELECT MACT , HOTEN, NGAYSINH
FROM CAUTHU
WHERE HOTEN NOT LIKE N'NGUYỄN_%'
d. Cho biết mã huấn luyện viên, họ tên, ngày sinh, đ ịa chỉ của những huấn luyện
viên Việt Nam có tuổi nằm trong khoảng 35-40.
SELECT MAHLV, TENHLV, NGAYSINH , DIACHI
FROM HUANLUYENVIEN
WHERE MAQG = 'VN'
AND (((year(getdate()) - year(NGAYSINH)) >= 35 and (year(getdate()) - year(NGAYSINH))
<= 40))
e. Cho biết tên câu lạc bộ có huấn luyện viên trưởng sinh vào ngày 20 tháng 8 năm
2019
SELECT TENCLB
FROM CAULACBO, HUANLUYENVIEN, HLV_CLB
WHERE VAITRO = N'HLV Chính ' AND HUANLUYENVIEN.MAHLV = HLV_CLB.MAHLV
AND HLV_CLB.MACLB = CAULACBO.MACLB
AND (YEAR(NGAYSINH) = 2019 AND MONTH(NGAYSINH)= 8 AND DAY(NGAYSINH) = 20)
f. Cho biết tên câu lạc bộ, tên tỉnh mà CLB đang đóng có số bàn thắng nhiều nhất
tính đến hết vòng 3 năm 2009.
SELECT TOP 1 TENCLB, TENTINH
FROM CAULACBO, TINH, BANGXH
WHERE CAULACBO.MATINH = TINH.MATINH AND BANGXH.MACLB= CAULACBO.MACLB
AND VONG <=3 AND NAM <= 2019
ORDER BY THANG DESC
b. Cho biết tên câu lạc bộ, tên tỉnh mà CLB đang đóng có hiệu số bàn thắng bại cao
nhất năm 2009.
SELECT TENCLB, TENTINH
FROM CAULACBO, TINH, BANGXH, (select max(vong) as vongcuoi from BANGXH) v
c. Cho biết danh sách các trận đấu ( NGAYTD, TENSAN, TENCLB1, TENCLB2,
KETQUA) của câu lạc bộ CLB có thứ hạng thấp nhất trong bảng xếp hạng vòng 3
năm 2009
SELECT NGAYTD, TENSAN, C1.TENCLB AS TENCLB1, C2.TENCLB AS TENCLB2, KETQUA
FROM TRANDAU, SANVD, CAULACBO C1, CAULACBO C2, BANGXH
WHERE BANGXH.VONG = 3
AND HANG >= ALL (select HANG from BANGXH where VONG = 3)
AND (TRANDAU.MACLB1 = BANGXH.MACLB OR TRANDAU.MACLB2 = BANGXH.MACLB)
AND TRANDAU.MACLB1 = C1.MACLB AND TRANDAU.MACLB2 = C2.MACLB
AND TRANDAU.MASAN = SANVD.MASAN
d. Cho biết mã câu lạc bộ, tên câu lạc bộ đã tham gia thi đấu với tất cả các câu lạc bộ
còn lại (kể cả sân nhà và sân khách) trong mùa giải năm 2009
SELECT MACLB, TENCLB
FROM CAULACBO
WHERE MACLB IN
(select MACLB from CAULACBO as C1 where
(select count(MATRAN) from TRANDAU where TRANDAU.MACLB1 = C1.MACLB or TRANDAU.MACLB2 =
C1.MACLB) =
(select count(CAULACBO.MACLB) from CAULACBO) - 1
)
e. Cho biết mã câu lạc bộ, tên câu lạc bộ đã tham gia thi đấu với tất cả các câu lạc bộ
còn lại ( chỉ tính sân nhà) trong mùa giải năm 2009.
SELECT MACLB, TENCLB
FROM CAULACBO
WHERE MACLB IN
(select MACLB from CAULACBO as C1 where
(select count(MATRAN) from TRANDAU where TRANDAU.MACLB1 = C1.MACLB) =
(select count(CAULACBO.MACLB) from CAULACBO) - 1
b. Khi phân công huấn luyện viên, kiểm tra vai trò của huấn luyện vi ên chỉ thuộc
một trong các vai trò sau: HLV chính, HLV phụ, HLV thể lực, HLV thủ môn
alter table HLV_CLB add constraint fk_vaitro check (VAITRO in (N'HLV chính', N'HLV
phụ', N'HLV thể lực', N'HLV thủ môn'))
c. Khi thêm cầu thủ mới, kiểm tra cầu thủ đó có tuổi phải đủ 18 trở lên (chỉ tính năm
sinh)
alter table CAUTHU add constraint fk_age check(year(getdate()) - year(NGAYSINH) >= 18)
c. Cho biết mã huấn luyện viên, họ tên, ngày sinh, địa chỉ, vai trò và tên CLB đang
làm việc của các huấn luyện viên có quốc tịch “Việt Nam”.
select HLV.MAHLV, HLV.TENHLV,HLV.NGAYSINH, HLV.DIACHI, HLV_CLB.VAITRO, CLB.TENCLB
from HUANLUYENVIEN as HLV, HLV_CLB, CAULACBO as CLB
where HLV.MAQG = 'VN'
and HLV.MAHLV = HLV_CLB.MAHLV
and HLV_CLB.MACLB = CLB.MACLB
d. Cho biết mã câu lạc bộ, tên câu lạc bộ, tên sân vận động, địa chỉ và số lượng cầu
thủ nước ngoài (có quốc tịch khác “Việt Nam”) tương ứng của các câu lạc bộ
nhiều hơn 2 cầu thủ nước ngoài.
select CT.MACLB, CLB.TENCLB,SANVD.TENSAN, SANVD.DIACHI,COUNT(CT.MACT) as N'Số
lượng cầu thủ nước ngoài' from CAULACBO as CLB, SANVD, CAUTHU as CT
where CT.MAQG not like 'VN' and CLB.MASAN = SANVD.MASAN and CT.MACLB = CLB.MACLB
group by CT.MACLB, CLB.TENCLB,SANVD.TENSAN, SANVD.DIACHI
having count(CT.MACT) > 2
e. Cho biết tên tỉnh, số lượng câu thủ đang thi đấu ở vị trí tiền đạo trong các câu lạc
bộ thuộc địa bàn tỉnh đó quản lý.
SELECT TINH.TENTINH , count(ct.MACT) as [số lượng cầu thủ]
FROM TINH , CAULACBO as clb , CAUTHU as ct
WHERE TINH.MATINH = clb.MATINH
AND clb.MACLB = ct.MACLB
AND ct.VITRI = N'Tiền đạo'
GROUP BY TINH.TENTINH ;
f. select * from view5Cho biết tên câu lạc bộ,tên tỉnh
mà CLB đang đóng
nằm ở vị trí cao nhất của bảng xếp hạng của vòng 3 năm 2009.
SELECT TOP 1 clb.TENCLB , TINH.TENTINH
FROM CAULACBO as clb , TINH , BANGXH as bxh
WHERE clb.MATINH = TINH.MATINH
AND clb.MACLB = bxh.MACLB
AND bxh.VONG = 3 AND bxh.NAM = 2009
ORDER BY bxh.DIEM DESC ;
g. Cho biết tên huấn luyện viên đang nắm giữ một vị trí trong 1 câu lạc bộ mà chưa
có số điện thoại.
SELECT TENHLV
FROM HUANLUYENVIEN
WHERE DIENTHOAI IS NULL ;
h. Liệt kê các huấn luyện viên thuộc quốc gia Việt Nam chưa làm công tác huấn
luyện tại bất kỳ một câu lạc bộ nào
SELECT hlv.TENHLV
FROM HUANLUYENVIEN as hlv , QUOCGIA as qg , HLV_CLB
WHERE hlv.MAQG = qg.MAQG
AND qg.TENQG = N'Việt Nam'
AND hlv.MAHLV = HLV_CLB.MAHLV
AND HLV_CLB.VAITRO IS NULL ;
i. Cho biết kết quả các trận đấu đã diễn ra (MACLB1, MACLB2, NAM, VONG,
SOBANTHANG,SOBANTHUA).
SELECT td.MACLB1 as MACLB, NAM, VONG, KETQUA
FROM TRANDAU as td
k. Cho biết kết quả các trận đấu trên sân nhà (MACLB, NAM, VONG,
SOBANTHANG, SOBANTHUA).
SELECT MACLB1, MACLB2, NAM, VONG, KETQUA
FROM TRANDAU as td
l. Cho biết kết quả các trận đấu trên sân khách (MACLB, NAM, VONG,
SOBANTHANG,SOBANTHUA).
m. Cho biết danh sách các trận đấu (NGAYTD, TENSAN, TENCLB1, TENCLB2,
KETQUA) của câu lạc bộ CLB đang xếp hạng cao nhất tính đến hết vòng 3 năm
2009.
n. Cho biết danh sách các trận đấu (NGAYTD, TENSAN, TENCLB1, TENCLB2,
KETQUA) của câu lạc bộ CLB có thứ hạng thấp nhất trong bảng xếp hạng vòng 3
năm 2009.