C# 数据库查询语句-第7节.子查询
作者:陈钰桃
撰写时间:2022 6月17日
第7节.子查询
A. SQL Server子查询
子查询是嵌套在另一个语句(如:[SELECT],[INSERT],[UPDATE]或[DELETE])中的查询。
以下语句显示如何在 SELECT 语句的[WHERE]子句中使用子查询来查找位于纽约( New York )的客户的销售订单
SELECT order_id, order_date, customer_id FROM sales.orders
WHERE customer_id IN
( SELECT customer_id FROM sales.customers WHERE city = ‘New York’ )
ORDER BY order_date DESC;
B. 嵌套子查询
子查询可以嵌套在另一个子查询中。
SQL Server最多支持 32 个嵌套级别。
请考虑以下示例
SELECT product_name, list_price FROM production.products
WHERE list_price > ( SELECT AVG (list_price) FROM production.products WHERE brand_id
IN ( SELECT brand_id FROM production.brands WHERE brand_name = ‘上海永久’ OR brand_name = ‘凤凰’ ) )
ORDER BY list_price;
首先,SQL Server执行以下子查询以获取品牌名称为 ‘上海永久’ 和 ‘凤凰’ 的品牌标识号列表:
SELECT brand_id FROM p