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

    solution

    Đề bài: [SQL Server] Bảng vàng học viên theo khóa

    Trung tâm tin học CodeLab NEU lưu kết quả thi cuối khóa trong bảng hocvien:

    Cột Kiểu Ý nghĩa
    ma INT mã học viên
    ten NVARCHAR(100) họ tên
    khoa VARCHAR(20) mã khóa học (vd 'K15', 'K16')
    diem DECIMAL(4,1) điểm thi, có thể NULL nếu vắng thi

    Hãy lập bảng vàng: chỉ gồm học viên có dự thi (diem khác NULL) và đạt từ 5.0 trở lên. Trong bảng, học viên được xếp theo khóa (tăng dần theo mã khóa); cùng khóa thì điểm cao xếp trước; cùng điểm thì mã học viên nhỏ xếp trước.

    Ví dụ: học viên vắng thi (diem NULL) không xuất hiện dù thuộc khóa nào.

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

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

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

      1≤1 \le1≤ số dòng ≤200\le 200≤200; 0.0≤diem≤10.00.0 \le diem \le 10.00.0≤diem≤10.0 hoặc NULL.

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

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

    Ví dụ:

    Đầu vào:

    CREATE TABLE hocvien (ma INT, ten NVARCHAR(100), khoa VARCHAR(20), diem DECIMAL(4,1));
    INSERT INTO hocvien VALUES (1, N'Nguyen Thi Anh', 'K15', 8.0),(2, N'Tran Van Bao', 'K16', 9.5),(3, N'Le Thi Chi', 'K15', NULL),(4, N'Pham Van Dat', 'K15', 8.0),(5, N'Hoang Thi Em', 'K16', 4.5),(6, N'Vu Van Phong', 'K15', 9.0);

    Đầu ra:

    6	Vu Van Phong	K15	9.0
    1	Nguyen Thi Anh	K15	8.0
    4	Pham Van Dat	K15	8.0
    2	Tran Van Bao	K16	9.5

    Giải thích:

    Loại học viên 3 (vắng thi) và 5 (4.5 < 5.0). Khóa K15 in trước: 9.0 (ma 6), rồi hai bạn 8.0 — ma 1 trước ma 4; sau đó K16: 9.5 (ma 2).

    Đang tải editor...