Một chương trình đào tạo có danh sách môn bắt buộc trong bảng monbatbuoc. Bảng dadat ghi các môn sinh viên đã đạt. Cần liệt kê sinh viên còn thiếu ít nhất một môn bắt buộc (dùng NOT EXISTS đa điều kiện).
| Bảng | Cột | Ý nghĩa |
|---|---|---|
| sinhvien | masv, hoten | Sinh viên |
| monbatbuoc | mamon | Môn bắt buộc |
| dadat | masv, mamon | Môn đã đạt |
Liệt kê sinh viên mà tồn tại một môn bắt buộc họ chưa đạt.
SETUP SQL tạo bảng sinhvien, monbatbuoc, dadat và chèn dữ liệu.
Một sinh viên có thể đã đạt một số môn. So khớp theo (masv, mamon).
Hai cột: masv, hoten. Sắp xếp theo masv tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE sinhvien (masv nvarchar(20), hoten nvarchar(50));
CREATE TABLE monbatbuoc (mamon nvarchar(20));
CREATE TABLE dadat (masv nvarchar(20), mamon nvarchar(20));
INSERT INTO sinhvien VALUES (N'SV1',N'An'),(N'SV2',N'Binh');
INSERT INTO monbatbuoc VALUES (N'M1'),(N'M2');
INSERT INTO dadat VALUES (N'SV1',N'M1'),(N'SV1',N'M2'),(N'SV2',N'M1');
Đầu ra:
SV2 Binh
Giải thích:
Đang tải editor...