1.Dễ
Làm thế nào để sắp xếp một kết quả từ lương cao nhất đến thấp nhất?
- ASORT salary DOWN
- BORDER BY salary ASC
- CORDER BY salary DESC
- DGROUP BY salary DESC
2.Dễ
Khóa ứng viên (candidate key) là gì?
- ABất kỳ cột nào chứa giá trị NULL
- BMột tập cột tối thiểu xác định duy nhất từng hàng
- CMột cột đang chờ trở thành khóa ngoại
- DMột tập cột được chia sẻ giữa hai bảng để liên kết các hàng của chúng
3.Dễ
Khóa chính (primary key) là gì?
- AMột cột có thể chứa giá trị trùng lặp nhưng không bao giờ được chứa NULL
- BMột cột hoặc tập hợp cột xác định duy nhất từng hàng
- CCột đầu tiên của mọi bảng
- DMật khẩu của cơ sở dữ liệu
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?
- ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
5.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?
- ADROP TABLE
- BALTER TABLE
- CDELETE FROM kèm mệnh đề WHERE
- DTRUNCATE TABLE
6.Trung bình
INTERSECT trả về gì khi dùng giữa hai truy vấn SELECT?
- ACác hàng có trong kết quả thứ nhất nhưng không có trong kết quả thứ hai
- BTất cả các hàng từ cả hai kết quả
- CTích Descartes của các kết quả
- DCác hàng xuất hiện trong cả hai kết quả
7.Khó
Vì sao SELECT dept, name, COUNT(*) FROM emp GROUP BY dept không hợp lệ trong SQL chuẩn?
- ACOUNT(*) không thể dùng cùng GROUP BY
- BGROUP BY phải liệt kê mọi cột của bảng
- Cdept phải xuất hiện bên trong một hàm tổng hợp
- Dname không được nhóm cũng không được tổng hợp, nên nó không có một giá trị duy nhất cho mỗi nhóm
8.Khó
Hai giao dịch cùng đọc stock = 10, mỗi giao dịch trừ 1 và ghi kết quả, cho ra 9 thay vì 8. Đây là dị thường nào?
- AĐọc bóng ma
- BCập nhật bị mất (lost update)
- CDị thường xóa
- DĐọc dữ liệu bẩn
Đáp án
- 1. C · ORDER BY salary DESC
- 2. B · Một tập cột tối thiểu xác định duy nhất từng hàng
- 3. B · Một cột hoặc tập hợp cột xác định duy nhất từng hàng
- 4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. D · TRUNCATE TABLE
- 6. D · Các hàng xuất hiện trong cả hai kết quả
- 7. D · name không được nhóm cũng không được tổng hợp, nên nó không có một giá trị duy nhất cho mỗi nhóm
- 8. B · Cập nhật bị mất (lost update)
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.