34,594
社区成员
发帖
与我相关
我的任务
分享
create table A(学号 varchar(4),姓名 varchar(8),年龄 int)
insert A select '001','张三',20
insert A select '002','李四',21
create table 成绩表(学号 varchar(4),科目 varchar(6),分数 int)
insert 成绩表 select '001','语文',90
insert 成绩表 select '001','数学',95
insert 成绩表 select '002','语文',86
insert 成绩表 select '002','数学',87
select A.学号,姓名,科目,分数
from A join 成绩表 on A.学号=成绩表.学号
/*
学号 姓名 科目 分数
---- -------- ------ -----------
001 张三 语文 90
001 张三 数学 95
002 李四 语文 86
002 李四 数学 87
(4 row(s) affected)
*/
drop table A,成绩表
declare @tb1 table (学号 varchar(10),姓名 varchar(10),年龄 int)
insert into @tb1 select '001','张三',20
insert into @tb1 select '002','李四',21
declare @tb2 table (学号 varchar(10),科目 varchar(10),分数 int)
insert into @tb2 select '001','语文',90
insert into @tb2 select '001','数学',95
insert into @tb2 select '002','语文',86
insert into @tb2 select '002','数学',87
select a.学号,a.姓名,b.科目,b.分数
from @tb1 a join @tb2 b on a.学号=b.学号
declare @ta table(学号 varchar(4),姓名 varchar(8),年龄 int)
insert @ta select '001','张三',20
insert @ta select '002','李四',21
declare @tb table(学号 varchar(4),科目 varchar(6),分数 int)
insert @tb select '001','语文',90
insert @tb select '001','数学',95
insert @tb select '002','语文',86
insert @tb select '002','数学',87
select a.姓名,b.*
from @ta a,@tb b
where a.学号 = b.学号
select a.姓名,b.*
from @ta a
full join @tb b on a.学号 = b.学号
select a.姓名,b.*
from @ta a
left join @tb b on a.学号 = b.学号
select a.姓名,b.*
from @ta a
right join @tb b on a.学号 = b.学号
/*
姓名 学号 科目 分数
-------- ---- ------ -----------
张三 001 语文 90
张三 001 数学 95
李四 002 语文 86
李四 002 数学 87
姓名 学号 科目 分数
-------- ---- ------ -----------
张三 001 语文 90
张三 001 数学 95
李四 002 语文 86
李四 002 数学 87
姓名 学号 科目 分数
-------- ---- ------ -----------
张三 001 语文 90
张三 001 数学 95
李四 002 语文 86
李四 002 数学 87
姓名 学号 科目 分数
-------- ---- ------ -----------
张三 001 语文 90
张三 001 数学 95
李四 002 语文 86
李四 002 数学 87
*/
表A学生的基本信息
学号 姓名 年龄 等等吧
001 张三 20
002 李四 21
另一张表放成绩表
学号 科目 分数
001 语文 90
001 数学 95
002 语文 86
002 数学 87
-----------------------
select a.学号,姓名,科目,分数 from 表A a,表B b where a.学号=b.学号
select 成绩表.学号,姓名,科目,分数
from A right join 成绩表 on A.学号=成绩表.学号
select a.姓名,b.*
from 成绩表 a,学生的基本信息 b
where a.学号 = b.学号
select A.学号,姓名,科目,分数
from A join 成绩表 on A.学号=成绩表.学号