Vâng, họ giống nhau. exists
kiểm tra xem có ít nhất một hàng trong truy vấn phụ hay không. Nếu vậy, nó đánh giá là true
. Các cột trong truy vấn phụ không quan trọng theo bất kỳ cách nào.
Theo MSDN, exists
:
Chỉ định một truy vấn con để kiểm tra sự tồn tại của các hàng.
Và Oracle:
Điều kiện EXISTS kiểm tra sự tồn tại của các hàng trong một truy vấn con.
Có thể tài liệu MySQL thậm chí còn giải thích nhiều hơn:
Theo truyền thống, truy vấn con EXISTS bắt đầu bằng SELECT *, nhưng nó có thể bắt đầu bằng SELECT 5 hoặc SELECT column1 hoặc bất cứ thứ gì. MySQL bỏ qua danh sách CHỌN trong một truy vấn con như vậy, vì vậy nó không có gì khác biệt.