← Level 3 · Đọc hiểu & Tình huống FE
Cơ sở dữ liệu & SQL Tình huống đọc hiểu Độ khó: Trung cấp Thời gian dự kiến: Khoảng 5 phút Cấp độ phù hợp: FE Level 3 (môn B)

Kết hợp bảng khách hàng và bảng đơn hàng

Cơ sở dữ liệu của một trang thương mại điện tử có bảng Khách hàng (MãKH, Tên) và bảng ĐơnHàng (MãĐơn, MãKH, SốTiền), được liên kết qua MãKH. Câu lệnh SQL dưới đây tính, cho mỗi khách hàng đã đặt ít nhất một đơn hàng, tổng số tiền đơn hàng theo tên.

sql
SELECT KhachHang.Ten, SUM(DonHang.SoTien) AS TongTien
FROM KhachHang
JOIN DonHang ON KhachHang.MaKH = DonHang.MaKH
GROUP BY KhachHang.Ten;

Từ khóa

結合けつごうkết hợp (JOIN) 集計関数しゅうけいかんすうhàm tổng hợp

Câu hỏi

1

Trong câu SQL này, mệnh đề nào dùng để liên kết nhiều bảng lại thành một kết quả duy nhất?

Lựa chọn

  1. Mệnh đề WHERE
  2. Mệnh đề JOIN
  3. Mệnh đề ORDER BY
  4. Mệnh đề HAVING
Xem giải thích

Mệnh đề JOIN ghép các dòng có MãKH trùng nhau, cho phép xử lý bảng KhachHang và DonHang như một tập kết quả duy nhất.

2

Nếu bỏ mệnh đề GROUP BY khỏi câu SQL này, điều gì thường xảy ra trên hầu hết các hệ quản trị cơ sở dữ liệu?

Lựa chọn

  1. Vẫn tính đúng tổng tiền theo từng khách hàng
  2. Sẽ báo lỗi, hoặc không cho ra kết quả tổng hợp như mong muốn
  3. Hiển thị toàn bộ nội dung bảng đơn hàng
  4. Chạy nhanh hơn
Xem giải thích

Vì SELECT kết hợp hàm tổng hợp SUM với cột không tổng hợp (tên), việc bỏ GROUP BY sẽ gây lỗi hoặc kết quả tổng hợp không chính xác trên hầu hết hệ thống.

3

Để hiển thị tên của tất cả khách hàng, kể cả những người chưa từng đặt đơn hàng nào, nên thay đổi mệnh đề JOIN như thế nào?

Lựa chọn

  1. Giữ nguyên là INNER JOIN
  2. Đổi thành LEFT JOIN (kết hợp ngoài) lấy bảng KhachHang làm gốc
  3. Bỏ mệnh đề GROUP BY
  4. Thay bảng KhachHang bằng bảng DonHang
Xem giải thích

JOIN thông thường (inner join) chỉ giữ lại các dòng khớp ở cả hai bảng, nên khách hàng chưa có đơn hàng sẽ không xuất hiện nếu không đổi sang LEFT JOIN.

Đăng nhập để lưu kết quả

Bạn có thể đọc miễn phí nội dung, câu hỏi và giải thích. Hãy đăng nhập để lưu kết quả và đưa vào hàng ôn tập cùng phân tích điểm yếu.

Đăng nhập để lưu