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

    solution

    Đề bài: [SQL Server] Nông trại không trồng cây thuộc danh sách cấm

    Sở nông nghiệp có danh sách cây bị cấm canh tác (bảng có thể chứa giá trị NULL do nhập liệu lỗi). Cần tìm các nông trại KHÔNG trồng bất kỳ cây cấm nào.

    Lưu ý NOT IN với NULL sẽ trả về rỗng sai lệch; phải dùng NOT EXISTS.

    Cột Kiểu Ý nghĩa
    trang_trai nvarchar Nông trại
    cay nvarchar Cây trồng
    Cột Kiểu Ý nghĩa
    cay nvarchar Cây bị cấm (có thể NULL)

    Ví dụ: nông trại chỉ trồng cây không nằm trong danh sách cấm.

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

      Bảng canh_tac và cay_cam.

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

      Bảng cay_cam có thể chứa NULL — phải dùng NOT EXISTS để đúng. Sắp xếp theo trang_trai.

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

      Các cột trang_trai (DISTINCT).

    Ví dụ:

    Đầu vào:

    CREATE TABLE canh_tac (trang_trai nvarchar(20), cay nvarchar(20));
    CREATE TABLE cay_cam (cay nvarchar(20));
    INSERT INTO canh_tac VALUES (N'TT1',N'Lua'),(N'TT1',N'Ngo'),(N'TT2',N'Thuocphien'),(N'TT3',N'Khoai');
    INSERT INTO cay_cam VALUES (N'Thuocphien'),(NULL);

    Đầu ra:

    TT1
    TT3

    Giải thích:

    cay_cam chua NULL (bay NOT IN). TT2 trong Thuocphien (cay cam) nen bi loai. TT1 trong Lua,Ngo va TT3 trong Khoai deu khong phai cay cam nen duoc chon. Ket qua: TT1, TT3.

    Đang tải editor...