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

    solution

    Đề bài: [SQL Server] Bảng điểm qua ba bảng

    Hệ thống quản lý đào tạo lưu ba bảng:

    Bảng sinhvien:

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

    Bảng monhoc:

    Cột Kiểu Ý nghĩa
    ma INT mã môn
    ten NVARCHAR(100) tên môn
    sotc INT số tín chỉ

    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 tổng kết

    Hãy in bảng điểm các môn đã qua (diem ≥5.0\ge 5.0≥5.0): tên sinh viên, tên môn và điểm. Lượt đăng ký dưới 5.0 không in.

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

      SETUP SQL tạo bảng sinhvien, 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; mọi masv, mamon trong dangky đều tồn tại; 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 3 cột: tensv, tenmon, diem — sắp xếp theo mã sinh viên tăng dần, rồi mã môn tăng dần. Có thể không có dòng nào.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sinhvien (ma INT, ten NVARCHAR(100));
    INSERT INTO sinhvien VALUES (1, N'Le Minh Anh'),(2, N'Tran Quoc Bao');
    CREATE TABLE monhoc (ma INT, ten NVARCHAR(100), sotc INT);
    INSERT INTO monhoc VALUES (10, N'Co so du lieu', 3),(20, N'Lap trinh Python', 3),(30, N'Toan roi rac', 4);
    CREATE TABLE dangky (masv INT, mamon INT, diem DECIMAL(4,1));
    INSERT INTO dangky VALUES (1, 10, 8.5),(1, 20, 4.0),(2, 10, 5.0),(2, 30, 9.0),(1, 30, 6.5);

    Đầu ra:

    Le Minh Anh	Co so du lieu	8.5
    Le Minh Anh	Toan roi rac	6.5
    Tran Quoc Bao	Co so du lieu	5.0
    Tran Quoc Bao	Toan roi rac	9.0

    Giải thích:

    Lượt (1, 20) bị loại vì 4.0 < 5.0. Còn lại in theo mã SV rồi mã môn: SV 1 với môn 10 (8.5) và môn 30 (6.5); SV 2 với môn 10 (5.0) và môn 30 (9.0).

    Đang tải editor...