子查詢(subquery),即巢狀在其他查詢中的查詢。
select 語句中,子查詢總是從內向外處理。示例:
1select
cust_name, cust_contact
2from
customers
3where cust_id in (select
cust_id
4from
order
5where order_num in (select
order_num
6from
orderitems
7where prod_id =
'rgan01
'));
注意:只能是單列
作為子查詢的select 語句只能查詢單個列。企圖檢索多個列將返回錯誤
包含子查詢的select 語句難以閱讀和除錯,它們在較為複雜時更是 如此。如上所示,把子查詢分解為多行並進行適當的縮排,能極大地 簡化子查詢的使用。
在where 子句中使用子查詢能夠編寫出功能很強且很靈活的sql 語句。對於能巢狀的子查詢的數目沒有限制,不過在實際使用時由於性 能的限制,不能巢狀太多的子查詢。
示例:
1select
cust_name,
2cust_state,
3 (select
count(*)4
from
orders
5where orders.cust_id = customers.cust_id) as
orders
6from
customers
7order
by cust_name;
SQL 必知必會 筆記 9 使用子查詢
子查詢 subquery 即巢狀在其他查詢中的查詢。select 語句中,子查詢總是從內向外處理。示例 1 select cust name,cust contact 2from customers 3where cust id in select cust id 4from order 5wher...
SQL必知必會 筆記 子查詢 IN
查詢 query 任何sql語句都是查詢。但此術語一般指select 語句。子查詢 subquery 即巢狀在其他查詢中的查詢,也可以說,巢狀在其他select語句中的select語句。舉個例子,我們想知道購買tnt2產品的客戶的id,但是產品id和客戶id不在同一張表上,兩張表的訂單號碼這一列是相...
SQL必知必會筆記十一(使用子查詢)
select語句是sql的查詢。我們迄今為止所看到的所有select語句都是簡單查詢,即從單個資料庫表中檢索資料的單條語句。查詢 query 任何sql語句都是查詢。但此術語一般指select語句。sql還允許建立子查詢 subquery 即巢狀在其他查詢中的查詢。說明 mysql支援 如果使用my...