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

    solution

    Đề bài: [MySQL] Tính phí bảo hiểm theo bậc tuổi

    Công ty bảo hiểm tính phí dựa trên bảng bậc theo khoảng tuổi. Hãy nối mỗi khách hàng với bậc phí phù hợp bằng JOIN điều kiện khoảng (bất đẳng thức).

    Bảng khachhang:

    Cột Kiểu Ý nghĩa
    ten VARCHAR(30) Tên khách
    tuoi INT Tuổi

    Bảng bac_phi:

    Cột Kiểu Ý nghĩa
    tu_tuoi INT Tuổi đầu khoảng
    den_tuoi INT Tuổi cuối khoảng
    phi INT Phí (nghìn đồng)

    Yêu cầu: in ten, tuoi, phi. Mỗi khách rơi vào đúng một khoảng tu_tuoi <= tuoi <= den_tuoi. Sắp xếp theo ten tăng dần.

    Ví dụ: khách 30 tuổi rơi vào khoảng 18-40 thì lấy phí của khoảng đó.

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

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

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

      Các khoảng không chồng nhau, phủ mọi tuổi của khách. Không dùng NOW/CURDATE.

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

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

    Ví dụ:

    Đầu vào:

    CREATE TABLE khachhang (ten VARCHAR(30), tuoi INT);
    CREATE TABLE bac_phi (tu_tuoi INT, den_tuoi INT, phi INT);
    INSERT INTO khachhang VALUES ('An',30),('Binh',50);
    INSERT INTO bac_phi VALUES (0,17,100),(18,40,200),(41,100,300);

    Đầu ra:

    An	30	200
    Binh	50	300

    Giải thích:

    An 30 tuổi thuộc khoảng 18-40 nên phí 200. Binh 50 tuổi thuộc khoảng 41-100 nên phí 300.

    Đang tải editor...