关于Sql嵌套查询与连接查询的转换

前几天,同事遇到一个问题——如何将嵌套查询改成连接查询。自己考虑之后,记录一下自己的想法。

问题:两个表

表一

字段:CustomerID, CustomerName,Address

表二

字段:ContractID,CustomerID,ContractName

要求:查出没有签订合同的客户信息。

嵌套查询:select  * from 表一 where customerID not in(select distinct CustomerID from 表二).

连接查询:select * from 表一 a left join 表二 b on a.customerid=b.customerid where contractid=null.

自我思考:

众所周知,连接查询的效率要比嵌套查询高,所以很多时候我们都会选择连接查询。将嵌套查询转化成连接查询的关键就是合理使用Null。

你可能感兴趣的:(关于Sql嵌套查询与连接查询的转换)