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

    solution

    Đề bài: [MySQL] Vận động viên chưa từng thắng giải nào

    Liên đoàn muốn tìm các VĐV chưa từng đoạt huy chương vàng ở bất kỳ giải nào (anti-join). Một bản ghi thành tích chỉ tính là vàng khi hang = 1.

    Bảng vandongvien:

    Cột Kiểu Ý nghĩa
    mavdv INT Mã VĐV
    ten VARCHAR(30) Tên

    Bảng thanhtich:

    Cột Kiểu Ý nghĩa
    mavdv INT Mã VĐV
    giai VARCHAR(20) Tên giải
    hang INT Thứ hạng (1=vàng)

    Yêu cầu: in mavdv, ten của các VĐV không có bất kỳ thành tích hạng 1 nào (kể cả VĐV chưa có thành tích). Sắp xếp theo mavdv tăng dần.

    Ví dụ: VĐV chỉ có hạng 2, 3 vẫn được liệt kê.

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

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

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

      mavdv duy nhất trong vandongvien. Không dùng NOW/CURDATE.

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

      Mỗi dòng: mavdv, ten. Sắp xếp theo mavdv tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE vandongvien (mavdv INT, ten VARCHAR(30));
    CREATE TABLE thanhtich (mavdv INT, giai VARCHAR(20), hang INT);
    INSERT INTO vandongvien VALUES (1,'An'),(2,'Binh'),(3,'Cuong');
    INSERT INTO thanhtich VALUES (1,'Quoc gia',1),(2,'Quoc gia',2),(2,'Cup',3);

    Đầu ra:

    2	Binh
    3	Cuong

    Giải thích:

    An có hạng 1 nên bị loại. Binh chỉ có hạng 2, 3 nên được liệt kê. Cuong chưa có thành tích cũng được liệt kê.

    Đang tải editor...