Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểm tra bảng rỗng bằng EXISTS trong MySQL

Tóm tắt

Dùng EXISTS (SELECT 1 FROM bang) trả về 1 (có hàng) hoặc 0 (rỗng) – tối ưu, dừng sớm như LIMIT 1.

Cú pháp

SELECT EXISTS(SELECT 1 FROM ten_bang) AS Output;

Ví dụ

1. Tạo bảng và chèn dữ liệu

CREATE TABLE ReturnDemo (Id INT, Name VARCHAR(10));
INSERT INTO ReturnDemo VALUES (100,'Larry'), (101,'Bob'), (102,'Sam');

2. Kiểm tra

SELECT EXISTS(SELECT 1 FROM ReturnDemo) AS Output;

3. Kết quả

+--------+
| Output |
+--------+
| 1      |
+--------+

Output = 1 → bảng **không rỗng**. Output = 0 → bảng **rỗng**.

So sánh các phương pháp

Phương phápCú phápHiệu năngKết quả
EXISTSSELECT EXISTS(SELECT 1 FROM t)Rất nhanh (dừng sớm)1/0
LIMIT 1SELECT 1 FROM t LIMIT 1Rất nhanh1 hàng / 0 hàng
COUNT(*)SELECT COUNT(*) FROM tChậm (quét toàn bộ)Số lượng

Khi nào dùng EXISTS?

  • Trong subquery: WHERE EXISTS (SELECT 1 FROM b WHERE b.a_id = a.id)
  • Cần giá trị boolean 1/0 để dùng tiếp trong biểu thức.
  • Code rõ ràng ý định "kiểm tra tồn tại".