读书人

一个简略的查询语句的优化

发布时间: 2014-01-15 15:40:23 作者: rapoo

一个简单的查询语句的优化
表1:User1
U_AID 编号
Uname 名字
表2:CGInfo
U_AID User1表的外键


功能:查询所有在表2没有出现过的用户的编号和名字

自己照着书写了一个,总感觉似乎太长了,不够精简,也不知道从哪儿着手优化,请教各位大侠指点,谢谢!!!!


SELECT U_AID, Uname
FROM [User1]
where Uname not in (SELECT User1.Uname FROM User1, CGInfo where CGInfo.U_AID = User1.U_AID)
[解决办法]
这样更好:

SELECT U_AID, Uname  
FROM [User1]
where not exists (SELECT 1 FROM CGInfo where CGInfo.U_AID = User1.U_AID)

读书人网 >SQL Server

热点推荐