注册 登录
编程论坛 SQL Server论坛

2个表怎么知道通过哪2个字段关联

sheng000 发布于 2016-10-20 11:17, 1742 次点击
2个表怎么知道通过哪2个字段关联
1 回复
#2
mywisdom882016-10-20 13:44
--测试数据
create table #tb1(id int,name varchar(10))
create table #tb2(id int,sex varchar(4),age int)
insert into #tb1
select 1001,'张三' union all
select 1002,'李四' union all
select 1003,'王五' union all
select 1004,'赵六'

insert into #tb2
select 1001,'男',21 union all
select 1002,'女',30 union all
select 1003,'男',41 union all
select 1004,'男',60

--方法1,用where 关联,找出所有男的
select a.id,a.name,b.sex,b.age from #tb1 a,#tb2 b where a.id=b.id and b.sex='男'
--方法2,用where 关联,找出所有男的,年龄小于41的
select a.id,a.name,b.sex,b.age from #tb1 a,#tb2 b where a.id=b.id and b.sex='男' and b.age < 41
--方法3,用 left jon ,inner join 等等内关联,找出所有,年龄小于41的
select a.id,a.name,b.sex,b.age from #tb1 a
inner join #tb2 b on a.id=b.id and b.age<41

--你可以去百度查 left join ,inner join,right join 的区别
1