mysql学习(5) - 使用子查询

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可以提高性能

你可能感兴趣的:(SQL基础,mysql)