例1:查找比顾客自己所有发票数额平均值大的发票信息
SELECT
*
FROM invoices as i
WHERE invoice_total > (
SELECT avg(invoice_total)
FROM invoices
WHERE client_id = i.client_id
);
如果内外查询的是同一张表(此例均使用invoices表)某一字段,相当于分组统计。
例2:找出从未被订购过的商品
SELECT *
FROM products as p
WHERE NOT EXISTS (
SELECT product_id
FROM order_items
WHERE product_id = p.product_id
);
内外查询使用的不是一张表中的字段(products表和order_items表),判断外查询products表中的“product_id” 是否存在于内查询order_items表中