且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用inner join实现多表连接查询

更新时间:2022-08-17 22:26:37

查询四张表aspnet_Membership,aspnet_Users,Users,UserRoles。

1.不是用inner join四表连接查询

  1. declare @username nvarchar(100)  
  2. declare @userpwd nvarchar(100)  
  3. set @username='admin'  
  4. set @userpwd='password'  
  5. SELECT  * FROM aspnet_Membership aM, aspnet_Users aU,Users U,UserRoles UR where aM.UserId=aU.UserId and   
  6. aU.UserName=U.Username and U.UserID=UR.UserID   
  7. and U.Username=@username and aM.password=@userpwd and UR.roleid=0   

2.使用inner join四表连接查询

  1. declare @username nvarchar(100)  
  2. declare @userpwd nvarchar(100)  
  3. set @username='admin'  
  4. set @userpwd='password'  
  5. select  *  from  (((aspnet_Membership INNER JOIN aspnet_users ON aspnet_Membership.UserId = aspnet_users.UserId)   
  6. INNER JOIN Users ON aspnet_users.username=Users.username)INNER JOIN UserRoles ON Users.userid=UserRoles.userid)  
  7. where Users.Username=@username and aspnet_Membership.password=@userpwd and UserRoles.roleid=0  

 

使用上面的查询语句可以查询指定的username和password并且角色roleid=0的结果。




本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/03/15/2297159.html,如需转载请自行联系原作者