当前位置:数据库 > SQLServer >>

mssql:两个表查询最高效果率语句

user是用户表,有很多个用户,book是书库,每个用户在书库里可能有多本书, user表: userid username book表: bookid userid 现在要列出在书库在有书的书的用户名, 可以这样写:select username form user where userid in (select userid form book) 1、由于真实的数据很多,不知道有没有更高的效率写法? 2、用INNER JOIN可否? 麻烦写出完整的语句,谢谢。
补充:select username from user where userid exists (select distinct userid from book) 这个不对,应该是:select username from user where exists (select distinct userid from book) ,不过还是非常感谢。
答案:select username from user where userid exists (select distinct userid from book) 

这样比使用 in 要更有效率
其他:子查询一般情况要比关联效率高
inner join不一定比你的方法快
select username 
from user a
inner join book b
on a.userid=b.userid

试试建个索引

上一个:为什么每次开电脑都有个名称叫MSSQL$SQLEXPRESS的未知系统服务正在被装入?
下一个:XP配置ASP.NET+MSSQL可以么??

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,