--User 表中有100 万条数据
CREATE TABLE [User](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[OrganizationID] [int] NOT NULL,
[UserName] [nvarchar](100) NOT NULL,
[Password] [nvarchar](max) NULL,
)--[UserSettings] 表中有200 万条数据
CREATE TABLE [UserSettings](
[UserSettingId] [int] IDENTITY(1,1) NOT NULL,
[UserId] [int] NOT NULL,
[SettingKey] [nvarchar](100) NOT NULL,
[SettingValue] [nvarchar](500) NOT NULL
)--假如用户表有 user1 and user2 ,请用不同的方式找到user1 和user2 的setting 信息,并解析不同查找方式的优劣
CREATE TABLE [User](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[OrganizationID] [int] NOT NULL,
[UserName] [nvarchar](100) NOT NULL,
[Password] [nvarchar](max) NULL,
)--[UserSettings] 表中有200 万条数据
CREATE TABLE [UserSettings](
[UserSettingId] [int] IDENTITY(1,1) NOT NULL,
[UserId] [int] NOT NULL,
[SettingKey] [nvarchar](100) NOT NULL,
[SettingValue] [nvarchar](500) NOT NULL
)--假如用户表有 user1 and user2 ,请用不同的方式找到user1 和user2 的setting 信息,并解析不同查找方式的优劣
where t1.userid = t2.userid
and t2.username in ('user1','user2'); select * from usersetting t1
where exists (select 1 from user t2 where t1.userid = t2.userid and t2.username in ('user1','user2')); 感觉两个都会走嵌套,user表的主键在这里没啥作用