Phiếu bài tập Cơ sở dữ liệu và SQL có đáp án

Phiếu bài tập Cơ sở dữ liệu và SQL miễn phí để in: 8 bài từ cơ bản đến mức đề thi, kèm đáp án. In ra hoặc lưu thành PDF.

Dành cho giảng viên: miễn phí in, sao chép và sử dụng trên lớp. Mỗi phiếu bài tập mới có số liệu mới và đáp án riêng. Chúng tôi rất cảm ơn nếu bạn đặt liên kết đến ExamProblems trên trang môn học.

Tên: ____________________   Ngày: ____________

1.Dễ

Toán tử nào được dùng để khớp mẫu văn bản đơn giản trong mệnh đề WHERE?

  1. ALIKE
  2. BMATCH
  3. CCONTAINS
  4. DSIMILAR
2.Dễ

Trong PostgreSQL và MySQL, mệnh đề nào chỉ trả về 10 hàng đầu tiên của một kết quả?

  1. AMAX 10
  2. BFIRST 10 ONLY
  3. CLIMIT 10
  4. DTOP ROWS 10
3.Dễ

NULL biểu diễn điều gì trong SQL?

  1. ASố không trong các cột kiểu số
  2. BMột giá trị Boolean false
  3. CMột chuỗi rỗng
  4. DMột giá trị bị thiếu hoặc chưa biết
4.Trung bình

Truy vấn nào liệt kê các khách hàng chưa bao giờ đặt đơn hàng?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
5.Trung bình

Dạng chuẩn thứ ba (3NF) loại bỏ:

  1. ACác chỉ mục dư thừa trên những cột không thuộc khóa
  2. BCác giá trị nguyên tử
  3. CCác phụ thuộc bắc cầu giữa các thuộc tính không khóa
  4. DCác khóa phức hợp
6.Trung bình

Câu lệnh nào xóa mọi hàng của một bảng, giữ nguyên cấu trúc và không thể có mệnh đề WHERE?

  1. AALTER TABLE
  2. BDELETE FROM kèm mệnh đề WHERE
  3. CTRUNCATE TABLE
  4. DDROP TABLE
7.Khó

Một bảng có một triệu hàng và một cột Boolean is_active là TRUE với 95% số hàng. Vì sao bộ tối ưu hóa có thể bỏ qua chỉ mục trên is_active cho WHERE is_active = TRUE?

  1. ABộ tối ưu hóa không bao giờ dùng chỉ mục trong mệnh đề WHERE
  2. BHầu hết các hàng đều khớp, nên quét toàn bộ bảng rẻ hơn nhiều lần tra cứu chỉ mục
  3. CKhông thể tạo chỉ mục trên cột Boolean
  4. DTRUE bị chỉ mục coi là NULL
8.Khó

Kết quả của SELECT COUNT(col) FROM t là gì nếu mọi giá trị trong col đều là NULL và bảng có 10 hàng?

  1. ANULL
  2. B0
  3. CMột lỗi
  4. D10

Đáp án

  1. 1. A · LIKE
  2. 2. C · LIMIT 10
  3. 3. D · Một giá trị bị thiếu hoặc chưa biết
  4. 4. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. C · Các phụ thuộc bắc cầu giữa các thuộc tính không khóa
  6. 6. C · TRUNCATE TABLE
  7. 7. B · Hầu hết các hàng đều khớp, nên quét toàn bộ bảng rẻ hơn nhiều lần tra cứu chỉ mục
  8. 8. B · 0

Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.