SELECT语句是SQL的查询。SQL还允许子查询,MySQL对子查询的支持是从版本4.1开始的,早期版本不支持子查询。
个人感觉子查询一般的使用场合就是WHERE语句所需要的东西不在FROM的表格中,其实理论上也可以用联结的查询。
在SELECT语句中,子查询总是从内向外处理。
作为子查询的SELECT语句只能查询单个列。企图检索多个列将返回错误。
例:
SELECT cust_name,cust_contact
FROM Customers
WHERE cust_id IN(SELECT cust_id
FROM Orders
WHERE order_num IN(SELECT order_num
FROM OrderItems
WHERE prod_id = 'RGAN01')
);
个人感觉涉及到子查询的很多例子都可以使用联结。