Bai1
Bai1
Му
THIENIONG Thü
Ngày No.
My notes:
Thü THIENLONG
Ngày No.
My notes:
Th(
r
My notes:
Thü
THIENIONG
Ngày No.
My notes:
My notes:
Câu 1:
SELECT DISTINCT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN THAMGIADT ON GIAOVIEN.MAGV = THAMGIADT.MAGV
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
JOIN BOMON ON DETAI.GVCNDT = BOMON.TRUONGBM
Câu 2:
SELECT DISTINCT GV1.MAGV, GV1.HOTEN
FROM GIAOVIEN AS GV1
JOIN KHOA ON GV1.MAGV = KHOA.TRUONGKHOA
JOIN GIAOVIEN AS GV2 ON GV2.MAKHOA = KHOA.MAKHOA
WHERE GV2.HOTEN = 'Nguyễn Thanh'
Câu 3:
SELECT BOMON.MABM, BOMON.TENBM
FROM BOMON
JOIN GIAOVIEN ON BOMON.TRUONGBM = GIAOVIEN.MAGV
WHERE DATEDIFF(year, GIAOVIEN.NGSINH, BOMON.NGAYNHANCHUC) < 35
Câu 4:
SELECT DISTINCT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN THAMGIADT ON GIAOVIEN.MAGV = THAMGIADT.MAGV
JOIN CONGVIEC ON THAMGIADT.MADT = CONGVIEC.MADT
WHERE CONGVIEC.TENCV = 'Thiết kế'
UNION
SELECT DISTINCT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN DETAI ON GIAOVIEN.MAGV = DETAI.GVCNDT
JOIN CONGVIEC ON DETAI.MADT = CONGVIEC.MADT
WHERE CONGVIEC.TENCV = 'Xác định yêu cầu'
Câu 5:
SELECT DISTINCT GV1.MAGV, GV1.HOTEN
FROM GIAOVIEN AS GV1
JOIN KHOA ON GV1.MAGV = KHOA.TRUONGKHOA
JOIN THAMGIADT ON GV1.MAGV = THAMGIADT.MAGV
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
JOIN CHUDE ON DETAI.MACD = CHUDE.MACD
WHERE CHUDE.TENCD = 'nghiên cứu'
AND NOT EXISTS
(
SELECT 1
FROM THAMGIADT AS TG2
JOIN DETAI AS DT2 ON TG2.MADT = DT2.MADT
JOIN CHUDE AS CD2 ON DT2.MACD = CD2.MACD
WHERE TG2.MAGV = GV1.MAGV AND CD2.TENCD = 'ứng dụng'
)
Câu 6:
SELECT DISTINCT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN THAMGIADT ON GIAOVIEN.MAGV = THAMGIADT.MAGV
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
WHERE DETAI.CAPQL = 'trường'
AND GIAOVIEN.MAGV NOT IN (
SELECT GVCNDT
FROM DETAI
WHERE CAPQL = 'trường'
)
Câu 7:
My notes:
SELECT DISTINCT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN BOMON ON GIAOVIEN.MAGV = BOMON.TRUONGBM
JOIN DETAI ON GIAOVIEN.MAGV = DETAI.GVCNDT
WHERE DETAI.CAPQL = 'nhà nước'
AND EXISTS (
SELECT 1
FROM THAMGIADT
JOIN CONGVIEC ON THAMGIADT.MADT = CONGVIEC.MADT
WHERE THAMGIADT.MAGV = GIAOVIEN.MAGV AND CONGVIEC.TENCV LIKE
'%nuôi cấy%'
)
Câu 8:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
WHERE NOT EXISTS (
SELECT 1
FROM THAMGIADT
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
WHERE THAMGIADT.MAGV = GIAOVIEN.MAGV AND DETAI.CAPQL != 'nhà nước'
)
AND EXISTS (
SELECT 1
FROM THAMGIADT
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
WHERE THAMGIADT.MAGV = GIAOVIEN.MAGV AND DETAI.CAPQL = 'nhà nước'
)
Câu 9:
SELECT DISTINCT DETAI.MADT, DETAI.TENDT
FROM DETAI
WHERE NOT EXISTS (
SELECT 1
FROM THAMGIADT
WHERE THAMGIADT.MADT = DETAI.MADT AND THAMGIADT.PHUCAP != 'quản lý
chuyên môn'
)
Câu 10:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN, COUNT(DISTINCT TG2.MAGV) AS
SO_LUONG_QL
FROM GIAOVIEN
LEFT JOIN THAMGIADT ON GIAOVIEN.MAGV = THAMGIADT.MAGV AND
THAMGIADT.PHUCAP = 'quản lý chuyên môn'
LEFT JOIN THAMGIADT AS TG2 ON THAMGIADT.MADT = TG2.MADT
GROUP BY GIAOVIEN.MAGV, GIAOVIEN.HOTEN
Câu 11:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN, KHOA.TENKHOA
FROM GIAOVIEN
JOIN KHOA ON GIAOVIEN.MAKHOA = KHOA.MAKHOA
WHERE GIAOVIEN.MAGV IN (
SELECT GVCNDT
FROM DETAI
WHERE KINHPHI >= 100000000
GROUP BY GVCNDT
HAVING COUNT(MADT) > 2
)
Câu 12:
SELECT BOMON.MABM, BOMON.TENBM, GIAOVIEN.HOTEN
My notes:
FROM BOMON
JOIN GIAOVIEN ON BOMON.TRUONGBM = GIAOVIEN.MAGV
JOIN (
SELECT GIAOVIEN.MABM, AVG(GIAOVIEN.LUONG) AS AVG_LUONG
FROM GIAOVIEN
GROUP BY GIAOVIEN.MABM
) AS AVG_LUONG_TABLE ON BOMON.MABM = AVG_LUONG_TABLE.MABM
JOIN (
SELECT MAKHOA, MIN(AVG_LUONG) AS MIN_AVG_LUONG
FROM (
SELECT GIAOVIEN.MAKHOA, AVG(GIAOVIEN.LUONG) AS AVG_LUONG
FROM GIAOVIEN
GROUP BY GIAOVIEN.MAKHOA, GIAOVIEN.MABM
) AS SUB
GROUP BY MAKHOA
) AS MIN_AVG_TABLE ON BOMON.MAKHOA = MIN_AVG_TABLE.MAKHOA AND
AVG_LUONG_TABLE.AVG_LUONG = MIN_AVG_TABLE.MIN_AVG_LUONG
Câu 13:
SELECT KHOA.MAKHOA, KHOA.TENKHOA, GIAOVIEN.HOTEN
FROM KHOA
JOIN GIAOVIEN ON KHOA
Câu 14:
SELECT CHUDE.MACD, CHUDE.TENCD, DETAI.CAPQL, COUNT(DETAI.MADT) AS
SO_LUONG_DE_TAI
FROM DETAI
JOIN CHUDE ON DETAI.MACD = CHUDE.MACD
WHERE DETAI.KINHPHI >= 100000000
GROUP BY CHUDE.MACD, CHUDE.TENCD, DETAI.CAPQL
Câu 15:
SELECT DETAI.MADT, DETAI.TENDT
FROM DETAI
JOIN (
SELECT MADT, COUNT(MAGV) AS SO_LUONG_GV
FROM THAMGIADT
GROUP BY MADT
ORDER BY SO_LUONG_GV DESC
LIMIT 1
) AS MAX_TABLE ON DETAI.MADT = MAX_TABLE.MADT
Câu 16:
SELECT KHOA.MAKHOA, GIAOVIEN.HOTEN, KHOA.TENKHOA
FROM KHOA
JOIN GIAOVIEN ON KHOA.TRUONGKHOA = GIAOVIEN.MAGV
WHERE KHOA.MAKHOA = (
SELECT MAKHOA
FROM BOMON
GROUP BY MAKHOA
ORDER BY COUNT(MABM) DESC
LIMIT 1
)
OR KHOA.MAKHOA = (
SELECT MAKHOA
FROM GIAOVIEN
GROUP BY MAKHOA
ORDER BY AVG(LUONG) ASC
LIMIT 1
)
Câu 17:
My notes:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
WHERE GIAOVIEN.MAGV = (
SELECT GVCNDT
FROM DETAI
WHERE CAPQL = 'nhà nước'
GROUP BY GVCNDT
ORDER BY COUNT(MADT) DESC
LIMIT 1
)
OR GIAOVIEN.MAGV = (
SELECT THAMGIADT.MAGV
FROM THAMGIADT
JOIN DETAI ON THAMGIADT.MADT = DETAI.MADT
JOIN CHUDE ON DETAI.MACD = CHUDE.MACD
WHERE CHUDE.TENCD = 'giáo dục'
GROUP BY THAMGIADT.MAGV
ORDER BY COUNT(THAMGIADT.MADT) DESC
LIMIT 1
)
Câu 17:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN KHOA ON GIAOVIEN.MAKHOA = KHOA.MAKHOA
WHERE KHOA.TENKHOA = 'Công nghệ thông tin'
AND NOT EXISTS (
SELECT 1
FROM DETAI
WHERE DETAI.CAPQL = 'ĐHQG'
AND NOT EXISTS (
SELECT 1
FROM THAMGIADT
WHERE THAMGIADT.MADT = DETAI.MADT AND THAMGIADT.MAGV =
GIAOVIEN.MAGV
)
)
Câu 19:
SELECT GIAOVIEN.MAGV, GIAOVIEN.HOTEN
FROM GIAOVIEN
JOIN KHOA ON GIAOVIEN.MAGV = KHOA.TRUONGKHOA
WHERE NOT EXISTS (
SELECT 1
FROM CHUDE
WHERE NOT EXISTS (
SELECT 1
FROM DETAI
JOIN THAMGIADT ON DETAI.MADT = THAMGIADT.MADT
WHERE THAMGIADT.MAGV = GIAOVIEN.MAGV AND DETAI.MACD =
CHUDE.MACD
)
)
Câu 20:
SELECT DETAI.MADT, DETAI.TENDT, CONGVIEC.TENCV
FROM DETAI
JOIN CONGVIEC ON DETAI.MADT = CONGVIEC.MADT
JOIN THAMGIADT ON DETAI.MADT = THAMGIADT.MADT
JOIN GIAOVIEN ON THAMGIADT.MAGV = GIAOVIEN.MAGV
My notes:
WHERE GIAOVIEN.LUONG BETWEEN 2000 AND 3000
GROUP BY DETAI.MADT, DETAI.TENDT, CONGVIEC.TENCV
HAVING COUNT(DISTINCT GIAOVIEN.MAGV) = (
SELECT COUNT(DISTINCT MAGV)
FROM GIAOVIEN
WHERE LUONG BETWEEN 2000 AND 3000
)
My notes: