《SQL必知必會》筆記二:11-課
阿新 • • 發佈:2022-03-10
二、複雜查詢與聯結
在上一篇筆記中提到的所有 SELECT 語句都是簡單查詢,即從單個數據庫表中檢索資料的單條語句。 但現實中,一般的資料庫表都是關係表。2.1 子查詢
子查詢(subquery),即巢狀在其他查詢中的查詢。/*涉及到三張表的巢狀子查詢*/ SELECT cust_name, cust_contact FROM Customers WHERE cust_id IN (SELECT cust_id FROM Orders WHERE order_num IN (SELECT order_numFROM OrderItems WHERE prod_id = 'RGAN01'));
注意:作為子查詢的 SELECT 語句只能查詢單個列。企圖檢索多個列將返回錯誤。
/*顯示 Customers 表中每個顧客的訂單總數。訂單與相應的顧客 ID 儲存在 Orders 表中*/ SELECT cust_name, cust_state, (SELECT COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) ASorders FROM Customers ORDER BY cust_name;
2.2 聯結表