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

本文介绍两种查询方法:一种是非inner join方式连接四张表aspnet_Membership、aspnet_Users、Users、UserRoles进行数据查询;另一种是使用inner join进行四表连接查询。这两种方法均可用于查询特定用户名、密码及角色ID为0的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值