13.2.11.6 & NBSP; Các nhóm phụ có tồn tại hoặc không tồn tại
Nếu một công cụ con trả về bất kỳ hàng nào, EXISTS
subquery
là
0 và SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
1 là SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
2. Ví dụ:SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
SELECT column1 FROM t1 WHERE EXISTS [SELECT * FROM t2];
Theo truyền thống, một truy vấn con
SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 bắt đầu với SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
4, nhưng nó có thể bắt đầu bằng SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 hoặc SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6 hoặc bất cứ điều gì. MySQL bỏ qua danh sách SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
7 trong một truy vấn con như vậy, vì vậy nó không có gì khác biệt.Đối với ví dụ trước, nếu
SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 chứa bất kỳ hàng nào, thậm chí các hàng không có gì ngoài các giá trị SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
9, điều kiện SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 là SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0. Đây thực sự là một ví dụ không thể xảy ra bởi vì một truy vấn con SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
2 hầu như luôn luôn chứa các mối tương quan. Dưới đây là một số ví dụ thực tế hơn:Những loại cửa hàng có mặt trong một hoặc nhiều thành phố?
SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Loại cửa hàng nào có mặt ở No City?
SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Những loại cửa hàng có mặt ở tất cả các thành phố?
SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Ví dụ cuối cùng là truy vấn
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 được lồng đôi. Đó là, nó có một mệnh đề SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 trong mệnh đề SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5. Chính thức, nó trả lời câu hỏi mà một thành phố có tồn tại với một cửa hàng không có trong SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6 không? Nhưng dễ dàng hơn để nói rằng một SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 được lồng vào câu hỏi là SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0 cho tất cả SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
0?“does a city exist with a store that is not in SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6”? But it is easier to say that a nested SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 answers the
question “is SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0 for all SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
0?”Trong MySQL 8.0.19 và sau đó, bạn cũng có thể sử dụng
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 hoặc SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 với SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
3 trong truy vấn con, như thế này:SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các kết quả giống như khi sử dụng
SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
4 mà không có mệnh đề SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
5 trong truy vấn con.13.2.10.6 & NBSP; Các nhóm phụ có tồn tại hoặc không tồn tại
Nếu một công cụ con trả về bất kỳ hàng nào, EXISTS
subquery
là
0 và SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
1 là SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
2. Ví dụ:SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
SELECT column1 FROM t1 WHERE EXISTS [SELECT * FROM t2];
Theo truyền thống, một truy vấn con
SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 bắt đầu với SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
4, nhưng nó có thể bắt đầu bằng SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 hoặc SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6 hoặc bất cứ điều gì. MySQL bỏ qua danh sách SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
7 trong một truy vấn con như vậy, vì vậy nó không có gì khác biệt.Đối với ví dụ trước, nếu
SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 chứa bất kỳ hàng nào, thậm chí các hàng không có gì ngoài các giá trị SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
9, điều kiện SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 là SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0. Đây thực sự là một ví dụ không thể xảy ra bởi vì một truy vấn con SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
2 hầu như luôn luôn chứa các mối tương quan. Dưới đây là một số ví dụ thực tế hơn:Những loại cửa hàng có mặt trong một hoặc nhiều thành phố?
SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Loại cửa hàng nào có mặt ở No City?
SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Những loại cửa hàng có mặt ở tất cả các thành phố?
SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Ví dụ cuối cùng là truy vấn
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 được lồng đôi. Đó là, nó có một mệnh đề SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
3 trong mệnh đề SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5. Chính thức, nó trả lời câu hỏi mà một thành phố có tồn tại với một cửa hàng không có trong SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6 không? Nhưng dễ dàng hơn để nói rằng một SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 được lồng vào câu hỏi là SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0 cho tất cả SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
0?“does a city exist with a store that is not in SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
6”? But it is easier to say that a nested SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
5 answers the
question “is SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
8 SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
0 for all SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
0?”