在SQL或MySQL中,我们可以加入表和子查询结果吗?

nop*_*ole 3 mysql sql join subquery

我们可以使用子查询的结果连接表,例如:

select name from gifts
    LEFT OUTER JOIN (select giftID from gifts) ...
Run Code Online (Sandbox Code Playgroud)

如果没有,是否可以通过某些方法完成,例如创建临时表?

PS子查询只能使用IN或NOT IN,或EXISTS或NOT EXISTS出现吗?

kni*_*ttl 8

是的,sql在集合上工作,子查询返回一个集合作为结果,所以这是可能的.

你必须给子查询一个名字: (select * from table) as sub


Les*_*lie 5

是的,你可以使用一个选择作为内部联接,你只需要给它一个别名:

SELECT Name FROM Transactions T
INNER JOIN (SELECT Distinct customerID As CustomerID FROM Customers) A 
ON A.CustomerID = T.CustomerID
Run Code Online (Sandbox Code Playgroud)