Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Lớp: IS 301

Bài tập về câu lệnh SQL


CÂU 1:
SELECT S.MASV,S.HOTENSV,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1) AS
‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
CÂU 2:
SELECT S.MASV, S.HOTENSV, S.TINH,
ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1) AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K
WHERE S.MASV=K.MASV AND S.TINH=N’ĐÀ NẴNG’
GROUP BY MASV, HOTENSV, TINH
HAVING AVG(DIEM)>=8
CÂU 3:
SELECT L.MALOP, L.TENLOP
FROM LOP.L, SINHVIEN.S, KETQUA.K
WHERE L.MALOP=S.MALOP AND S.MASV=K.MASV AND K.DIEM IS NULL
CÂU 4:
CREATE VIEW BANG_DIEM(
SELECT
S.MASV,S.HOTENSV,MALOP,TENLOP,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1)
AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K, LOP.L
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP AND L.MALOP=S.MALOP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
)
SELECT MALOP, TENLOP, AVG(DTB) AS ‘DTB’
FROM BANG_DIEM
GROUP BY MALOP, TENLOP
CÂU 5:
CREATE VIEW BANG_DIEM(
SELECT
S.MASV,S.HOTENSV,MALOP,TENLOP,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1)
AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K, LOP.L
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP AND L.MALOP=S.MALOP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
)
SELECT MASV, TENSV, DTB, CASE WHEN DTB <5 THEN N’RỚT’ ELSE N’ĐẬU’ END AS
‘KETQUA’
FROM BANG_DIEM
WHERE MALOP=’L01’
CÂU 6:
CREATE VIEW BANG_DIEM(
SELECT
S.MASV,S.HOTENSV,MALOP,TENLOP,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1)
AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K, LOP.L
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP AND L.MALOP=S.MALOP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
)
SELECT MASV, HOVATENSV, DTB
FROM BANG_DIEM
WHERE DTB=(SELECT DTB FROM BANG_DIEM WHERE MASV=’SV01’)
CÂU 7:
SELECT MALOP, TENLOP
FROM GIANGDAY
WHERE MAGV=’GV01’ AND NGAYKETTHUC IS NOT NULL
CÂU 8:
SELECT S.MASV, S.HOTENSV
FROM SINHVIEN
WHERE MASV NOT IN (SELECT MASV FROM KETQUA.K, HOCPHAN.H WHERE
K.MAHP=H.MAHP AND TENHP=’CSDL’) OR MASV IN (SELECT MASV FROM KETQUA.K,
HOCPHAN.H WHERE K.MAHP=H.MAHP AND TENHP=’CSDL’ HAVING DIEM<4)
CÂU 9:
SELECT MASV, HOTENSV, YEAR(GETDATE())-YEAR(NS) AS ‘TUOI’
FROM SINHVIEN
WHERE MASV IN (SELECT MASV FROM KETQUA WHERE DIEM < 4)
CÂU 10:
SELECT S.MASV, S.HOTENSV, K.DIEM, V.MAGV, V.HOTENGV,H.TENHP
FROM SINHVIEN.S, KETQUA.K, GIANGDAY.G, GIANGVIEN.V, HOCPHAN.H
WHERE S.MASV=K.MASV AND G.MAHP=H.MAHP AND V.MAGV=G.MAGV AND V.HOTENGV=
N‘Nguyễn Dũng’ AND H.TENHP = 'CSDL’
CÂU 11:
CREATE TALBE TK_SL_LOP(
MALOP NVARCHAR(10)
TENLOP NVARCHAR(50)
SOLUONG INT)
INSERT INTO TK_SL_LOP(MALOP, TENLOP, SOLUONG)
SELECT MALOP, TENLOP, COUNT(MASV) AS ‘SOLUONG’
FROM SINHIVEN.S, LOP.L
WHERE S.MALOP=L.MALOP
GROUP BY L.MALOP, L.TENLOP
ORDER BY SOLUONG
CÂU 12:
CREATE TABLE TK_HB(
MASV NVARCHAR(10)
HOTENSV NVARCHAR(50)
NAMSINH DATETIME
XEPLOAI NVARCHAR(20)
)
INSERT INTO TK_HB(MASV, HOTENSV, NAMSINH, XEPLOAI)
SELECT MASV, HOTENSV, YEAR(NGAYSINH) AS ‘NAMSINH’, CASE WHEN DTB >=8 THEN
N’HỌCBỔNG’ ELSE N‘KHONGHOCBONG’ END AS N‘XEPLOAI’
FROM BANG_DIEM
WHERE DTB>=8
ORDER BY DTB DESC
CÂU 13:
DELETE FROM HOCPHAN
WHERE MAHP NOT IN (SELECT MAHP FROM KETQUA)
CÂU 14:
UPDATE KETQUA
SET DIEM=DIEM+1.0
WHERE MASV IN(SELECT MASV FROM BANG_DIEM WHERE DTB<4) AND MAHP IN(SELECT
MAHP FROM HOCPHAN WHERE TENHP=’CSDL’)
CÂU 15:
UPDATE KETQUA
SET DIEM = DIEM * 1.1
WHERE MASV IN (SELECT MASV FROM BANG_DIEM WHERE DTB<2) AND MAHP IN(SELECT
MAHP FROM HOCPHAN WHERE TENHP=N’CẤUTRÚCDỮLIỆU’ OR TENHP=’GT’)
CÂU 16:
SELECT S.MASV, S.HOTENSV, AVG(DIEM) AS ‘DTB’
FROM BANG_DIEM
WHERE DTB>=8 AND MASV IN (SELECT MASV FROM KETQUA WHERE DIEM<4)
GROUP BY S.MASV, S.HOTENSV
CÂU 17:
SELECT S.MASV, S.HOTENSV, YEAR(NGAYSINH) AS ‘NAMSINH’, DIEM, MAGV, HOTENGV
FROM SINHVIEN.S, KETQUA.K, HOCPHAN.H, GIANGDAY.G, GIANGVIEN.V
WHERE S.MASV=K.MASV AND G.MAHP=H.MAHP AND V.MAGV=G.MAGV AND
TENHP=’CSDL’ AND DTB<4
GROUP BY S.MASV, S.HOTENSV, NAMSINH, DIEM, MAGV, HOTENGV
CÂU 18:
CREATE TABLE TK_SO_NO(
MAGV NVARCHAR(10)
HOTENGV NVARCHAR(50)
SOLUONG INT)
INSERT INTO TK_SO_NO(MAGV, HOTENGV, SOLUONG)
SELECT MAGV, HOTENGV, COUNT(MASV)
FROM GIANGDAY.G, GIANGVIEN.V, KETQUA.K, HOCPHAN.H,
WHERE G.MAGV=V.MAGV AND H.MAHP=K.MAHP AND S.MASV=K.MASV AND
TENHP=’CSDL’ AND DIEM<4
GROUP BY MAGV, HOTENGV
CÂU 19:
CREATE VIEW BANG_DIEM(
SELECT
S.MASV,S.HOTENSV,MALOP,TENLOP,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1)
AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K, LOP.L
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP AND L.MALOP=S.MALOP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
)
SELECT MALOP, TENLOP, AVG(DTB) AS ‘DTB’
FROM BANG_DIEM
GROUP BY MALOP, TENLOP
CÂU 20:
CREATE VIEW BANG_DIEM(
SELECT
S.MASV,S.HOTENSV,MALOP,TENLOP,ROUND(SUM(K.DIEM*H.SOTINCHI)/SUM(H.SOTINCHI),1)
AS ‘DTB’
FROM SINHVIEN.S, HOCPHAN.H, KETQUA.K, LOP.L
WHERE S.MASV=K.MASV AND H.MAHP=K.MAHP AND L.MALOP=S.MALOP
GROUP BY S.MASV, S.HOTENSV
ORDER BY 3
)
SELECT TOP2 S.MASV, L.MALOP, AVG(DTB) AS ‘DTB’
FROM BANG_DIEM
WHERE DTB >=8 AND MALOP=’L01’ OR MALOP=’L02’
GROUP BY S.MASV, L.MALOP

You might also like