在 SQL 中使用子查詢的一般語法如下:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT column_name FROM table_name WHERE condition);
在這個語法中,子查詢會首先執行,然后其結果會作為外部查詢的條件。子查詢可以用在 SELECT、UPDATE、DELETE 和 INSERT 語句中。
以下是一個使用子查詢的示例:
假設有一個包含訂單信息的表 orders,包含字段 order_id、customer_id 和 order_date。現在我們想要查詢所有訂單的客戶 ID,并在另一個表 customers 中查找這些客戶的詳細信息。
SELECT *
FROM customers
WHERE customer_id IN (SELECT customer_id FROM orders);
這個查詢會返回所有在 orders 表中存在的客戶的詳細信息。
需要注意的是,子查詢的結果必須是單值,否則會出現錯誤。另外,子查詢的效率可能不如使用 JOIN 連接表的方式,因此在實際使用中需根據情況選擇合適的方法。