MySQL EXISTS

创建于 2024-12-02 / 32
字体: [默认] [大] [更大]

MySQL EXISTS 运算符

EXISTS 运算符用于测试子查询中是否存在任何记录。

如果子查询返回一条或多条记录,EXISTS 运算符返回 TRUE。

EXISTS 语法

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

演示数据库

以下是 Northwind 示例数据库中 "Products" 产品表的选择:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35

从“供应商”表中选择:

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA
4 Tokyo Traders Yoshi Nagase 9-8 Sekimai Musashino-shi Tokyo 100 Japan

Advertisement

-->

MySQL EXISTS 示例

以下 SQL 语句返回 TRUE 并列出产品价格低于 20 的供应商:

实例

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20); 亲自试一试 »

以下 SQL 语句返回 TRUE 并列出产品价格等于 22 的供应商:

实例

SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price = 22); 亲自试一试 »

0 人点赞过