mysql4.1之后,可以使用子查询进行数据的查询
成为子句的查询条件,只能是单列进行查询
在实际使用的时候,最好不要嵌套太多子查询,会降低性能
子查询通常使用在where语句的in条件中,或者查询列中:
FROM Customers
WHERE cust_id IN (SELECT cust_id
FROM Orders
WHERE order_num IN (SELECT order_num
FROM OrderItems
WHERE prod_id = 'RGAN01'));
或者
SELECT cust_name,
cust_state,
(SELECT COUNT(*)
FROM Orders
WHERE Orders.cust_id = Customers.cust_id) AS orders
FROM Customers
ORDER BY cust_name;
这种方式虽然可以达到我们想要的结果,但是却不是最优解,使用join可以提高性能