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

    solution

    Đề bài: [MySQL] Cặp nhân viên cùng phòng

    Phòng nhân sự muốn liệt kê các cặp nhân viên làm cùng phòng để phân nhóm teambuilding. Mỗi cặp chỉ liệt kê một lần. Dùng self-join.

    Cột Kiểu Ý nghĩa
    ma_nv INT Mã nhân viên
    ho_ten VARCHAR(100) Họ tên
    phong VARCHAR(50) Phòng ban

    Điều kiện a.ma_nv < b.ma_nv để tránh trùng cặp.

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

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

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

      Mỗi cặp xuất hiện một lần, a.ma_nv<b.ma_nva.ma\_nv < b.ma\_nva.ma_nv<b.ma_nv.

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

      Các cột nv1 (ho_ten người mã nhỏ), nv2 (ho_ten người mã lớn), phong; sắp theo phong tăng, nv1 tăng, nv2 tăng.

    Ví dụ:

    Đầu vào:

    CREATE TABLE nhanvien (ma_nv INT, ho_ten VARCHAR(100), phong VARCHAR(50));
    INSERT INTO nhanvien VALUES (1,'An','IT'),(2,'Bao','IT'),(3,'Cuong','HR');

    Đầu ra:

    An	Bao	IT

    Giải thích:

    Chỉ phòng IT có 2 người tạo 1 cặp (An, Bao). HR chỉ 1 người nên không có cặp.

    Đang tải editor...