Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [SQL Server] Môn học có bài thi điểm giỏi

    Sau kỳ thi cuối kỳ, phòng khảo thí muốn biết những môn học nào có ít nhất một sinh viên đạt từ 9.0 trở lên để xét trao thưởng.

    Bảng monhoc:

    Cột Kiểu Ý nghĩa
    ma INT mã môn
    ten NVARCHAR(100) tên môn

    Bảng dangky:

    Cột Kiểu Ý nghĩa
    masv INT mã sinh viên
    mamon INT mã môn
    diem DECIMAL(4,1) điểm thi

    Yêu cầu kỹ thuật: dùng EXISTS với truy vấn con tương quan (không dùng JOIN + DISTINCT).

    • Định dạng đầu vào:

      SETUP SQL tạo bảng monhoc, dangky và chèn dữ liệu.

    • Ràng buộc đầu vào:

      Mỗi bảng 1≤1 \le1≤ số dòng ≤300\le 300≤300; 0.0≤diem≤10.00.0 \le diem \le 10.00.0≤diem≤10.0.

    • Định dạng đầu ra:

      Mỗi dòng gồm 2 cột: ma, ten — sắp xếp theo ma tăng dần. Có thể không có dòng nào.

    Ví dụ:

    Đầu vào:

    CREATE TABLE monhoc (ma INT, ten NVARCHAR(100));
    INSERT INTO monhoc VALUES (1, N'Co so du lieu'),(2, N'Kinh te vi mo'),(3, N'Lap trinh Java');
    CREATE TABLE dangky (masv INT, mamon INT, diem DECIMAL(4,1));
    INSERT INTO dangky VALUES (100, 1, 9.5),(101, 1, 9.0),(100, 2, 8.9),(102, 3, 7.0),(103, 3, 9.0);

    Đầu ra:

    1	Co so du lieu
    3	Lap trinh Java

    Giải thích:

    Môn 1 có hai bài đạt từ 9.0 (chỉ cần tồn tại ít nhất một); môn 3 có bài 9.0 đúng ngưỡng. Môn 2 cao nhất chỉ 8.9 nên không được chọn.

    Đang tải editor...