SQL必知必會 筆記 第十一章 使用子查詢,sql必知

來源:互聯網
上載者:User

SQL必知必會 筆記 第十一章 使用子查詢,sql必知
11.1子查詢

查詢(query)任何SQL語句都是查詢。但此術語一般指SELECT語句。
SQL還允許建立子查詢(subquery),即:嵌套在其他查詢中的查詢。

11.2利用子查詢進行過濾
SELECT cust_idFROM OrdersWHERE order_num IN(SELECT order_num                                   FROM OrderItems                                   WHERE prod_id = 'RGA01');

在SELECT語句中,子查詢總是從內向外處理。

SELECT cust_name,cust_contactFROM CustomersWHERE cust_id IN(SELECT cust_id     FROM Orders     WHERE order_num IN(SELECT order_num          FROM OrderItems          WHERE prod_id = 'RGA01'));

只能是單列:作為子查詢的SELECT語句只能查詢單個列。企圖檢索多個列將返回錯誤。

11.3作為計算欄位使用子查詢

為了對每個客戶執行COUNT(*),應該將它作為一個子查詢。

SELECT cust_name,cust_state,(SELECT COUNT(*)      FROM Orders     WHERE Orders.cust_id = Customers.cust_id) AS ordersFROM CustomersORDER BY cust_name;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.