Công ty logistics Sao Đỏ có sơ đồ tổ chức lưu ngay trong một bảng nhanvien — mỗi nhân viên trỏ tới quản lý trực tiếp của mình:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| ma | INT | mã nhân viên |
| ten | NVARCHAR(100) | họ tên |
| luong | INT | lương tháng (đồng) |
| maql | INT | mã quản lý trực tiếp, NULL nếu là lãnh đạo cao nhất |
Ban nhân sự muốn rà soát các trường hợp nhân viên có lương cao hơn hẳn quản lý trực tiếp của mình. Hãy liệt kê những nhân viên như vậy kèm tên quản lý (lương bằng nhau thì không tính).
Gợi ý tư duy: cần nối bảng nhanvien với chính nó.
SETUP SQL tạo bảng nhanvien và chèn dữ liệu.
1≤ số dòng ≤300; maql (nếu khác NULL) luôn tồn tại trong bảng; 106≤luong≤108; không có chu trình quản lý.
Mỗi dòng gồm 4 cột: ma, ten, luong, tenql — 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 nhanvien (ma INT, ten NVARCHAR(100), luong INT, maql INT);
INSERT INTO nhanvien VALUES (1, N'Pham Thi Lan', 50000000, NULL),(2, N'Nguyen Van Binh', 30000000, 1),(3, N'Tran Van Cuong', 55000000, 1),(4, N'Le Thi Dung', 28000000, 2),(5, N'Hoang Van Hieu', 35000000, 2);
Đầu ra:
3 Tran Van Cuong 55000000 Pham Thi Lan
5 Hoang Van Hieu 35000000 Nguyen Van Binh
Giải thích:
Đang tải editor...