NEW
Font size
WorksheetsHệ quản trị cơ sở dữ liệu - Kiểm tra thường xuyên 3
Total questions: 10
Worksheet time: 10mins
Khi nào bạn nên sử dụng LEFT JOIN thay vì INNER JOIN trong MySQL?
Khi bạn muốn chỉ lấy dữ liệu khớp ở cả hai bảng
Khi bạn muốn tất cả các bản ghi ở bảng bên phải luôn được giữ lại
Khi bạn muốn giữ lại tất cả các bản ghi của bảng bên trái, kể cả không khớp
Khi bạn muốn giữ lại tất cả các bản ghi tồn tại trong cả 2 bảng
Làm thế nào để mô phỏng FULL OUTER JOIN trong MySQL?
Kết hợp LEFT JOIN - UNION - RIGHT JOIN
Kết hợp RIGHT JOIN - UNION - LEFT JOIN
Sử dụng FULL OUTER JOIN
Sử dụng INNER JOIN với điều kiện WHERE
Bạn có 2 bảng:
orders(order_id, customer_id, order_date)
customers(customer_id, name)
Bạn cần lấy danh sách đơn hàng bao gồm tên khách hàng và ngày đặt hàng. Câu truy vấn nào đúng?
SELECT name, order_date FROM customers JOIN orders;
SELECT name, order_date FROM orders JOIN customers ON orders.customer_id = customers.customer_id;
SELECT name, order_date FROM orders LEFT JOIN customers;
SELECT name, order_date FROM customers ON orders.customer_id = customers.customer_id;
A
B
C
D
A
B
C
D
VIEW là gì trong MySQL?
A. Một loại bảng đặc biệt lưu dữ liệu vĩnh viễn
B. Một bảng tạm lưu trữ dữ liệu tạm thời
C. Một bảng ảo được tạo từ câu lệnh SELECT
D. Một loại index đặc biệt để tăng tốc độ truy vấn
Điều gì xảy ra nếu không có điều kiện ON khi JOIN hai bảng?
Sẽ xảy ra lỗi cú pháp
Sẽ thực hiện INNER JOIN mặc định
Sẽ tạo ra tích đề các
Truy vấn sẽ bị bỏ qua
Trong số các truy vấn sau, truy vấn nào tối ưu nhất để lấy dữ liệu theo tên có index?
SELECT * FROM users WHERE name = 'An';
SELECT * FROM users WHERE LOWER(name) = 'an';
SELECT * FROM users WHERE name LIKE '%an';
SELECT * FROM users WHERE name LIKE '%an%';
Công cụ nào của MySQL giúp xem cách MySQL thực thi truy vấn?
OPTIMIZER
EXPLAIN
DESCRIBE
CALL
Cho hai bảng:
orders(order_id, customer_id, order_date)
customers(customer_id, name, email)
Bạn muốn liệt kê tất cả khách hàng, kể cả những người chưa từng đặt hàng, kèm theo order_id nếu có. Câu truy vấn nào sau đây là đúng và tối ưu nhất?
SELECT c.name, o.order_id
FROM orders o
RIGHT JOIN customers c ON o.customer_id = c.customer_id;
SELECT o.order_id, c.name
FROM customers c
RIGHT JOIN orders o ON o.customer_id = c.customer_id;
SELECT c.name, o.order_id
FROM customers c
LEFT JOIN orders o ON c.customer_id = o.customer_id;
SELECT c.name, o.order_id
FROM orders o
LEFT JOIN customers c ON o.customer_id = c.customer_id;
