EXISTS & CASE
EXISTS trả về đúng nếu subquery có ít nhất một dòng. CASE gán nhãn theo điều kiện.
WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id) — user có ít nhất một đơn.
CASE WHEN age >= 18 THEN 'adult' ELSE 'minor' END AS group_age
EXISTS dừng sớm khi tìm thấy một dòng — thường nhanh hơn đếm.
Thuật ngữ (di chuột để xem giải thích)
Đang tải dữ liệu mẫu…
WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id) — user có ít nhất một đơn.
CASE WHEN age >= 18 THEN 'adult' ELSE 'minor' END AS group_age
EXISTS dừng sớm khi tìm thấy một dòng — thường nhanh hơn đếm.
Thuật ngữ (di chuột để xem giải thích)
Đang tải dữ liệu mẫu…
Đang tải trình soạn thảo…
Chạy truy vấn để xem kết quả tại đây.
Lấy name users có ít nhất một order (dùng EXISTS).
Đang tải trình soạn thảo…
SELECT product, total, và cột size_label: 'big' nếu total >= 100, ngược lại 'small'.
Đang tải trình soạn thảo…
- Chạy thử truy vấn mẫu
- Hoàn thành bài tập (0/2)