Professional Documents
Culture Documents
go
use KTGK
go
CREATE TABLE DMKHOA (
MaKH CHAR(2),
TenKH VARCHAR(50)
);
-- Truy vấn 2
SELECT MaSV, UPPER(TenSV) AS TenSV, Nam
FROM DMSV
ORDER BY TenSV DESC;
-- Truy vấn 3
SELECT TenSV, Nam
FROM DMSV
WHERE MaKH = 'TH'
LIMIT 2;
-- Truy vấn 4
SELECT TOP (SELECT COUNT(*) / 2 FROM DMSV) *
FROM DMSV;
-- Truy vấn 5
SELECT DMKHOA.TenKH, DMSV.TenSV
FROM DMSV
JOIN DMKHOA ON DMSV.MaKH = DMKHOA.MaKH;
-- Truy vấn 6
SELECT DMKHOA.TenKH, DMSV.TenSV, DMMH.TenMH, KETQUA.Diem
FROM DMSV
JOIN DMKHOA ON DMSV.MaKH = DMKHOA.MaKH
JOIN KETQUA ON DMSV.MaSV = KETQUA.MaSV
JOIN DMMH ON KETQUA.MaMH = DMMH.MaMH;
-- Truy vấn 7
SELECT DMKHOA.MaKH, DMKHOA.TenKH, COUNT(DMSV.MaSV) AS SoSinhVien
FROM DMKHOA
LEFT JOIN DMSV ON DMKHOA.MaKH = DMSV.MaKH
GROUP BY DMKHOA.MaKH, DMKHOA.TenKH;
-- Truy vấn 8
SELECT TOP 1 WITH TIES DMSV.MaSV, DMSV.TenSV, KETQUA.Diem AS DiemCaoNhat
FROM KETQUA
JOIN DMMH ON KETQUA.MaMH = DMMH.MaMH
JOIN DMSV ON KETQUA.MaSV = DMSV.MaSV
WHERE DMMH.TenMH = 'Đồ họa'
ORDER BY ROW_NUMBER() OVER (PARTITION BY DMSV.MaSV ORDER BY Diem DESC);