初学SQL SERVER 2000 有个问题请教一下:
表A学生的基本信息
学号 姓名 年龄 等等吧
001 张三 20
002 李四 21
另一张表放成绩表
学号 科目 分数
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
现在我想列出一张表,内容是
学号 姓名 科目 分数
001 张三 语文 90
001 张三 数学 95
002 李四 语文 86
002 李四 数学 87该如何建立查询呢?
from A join 成绩表 on A.学号=成绩表.学号
from 成绩表 a,学生的基本信息 b
where a.学号 = b.学号
select 成绩表.学号,姓名,科目,分数
from A right join 成绩表 on A.学号=成绩表.学号
表A学生的基本信息
学号 姓名 年龄 等等吧
001 张三 20
002 李四 21
另一张表放成绩表
学号 科目 分数
001 语文 90
001 数学 95
002 语文 86
002 数学 87 -----------------------
select a.学号,姓名,科目,分数 from 表A a,表B b where a.学号=b.学号
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
*/
insert into @tb1 select '001','张三',20
insert into @tb1 select '002','李四',21declare @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','数学',87select a.学号,a.姓名,b.科目,b.分数
from @tb1 a join @tb2 b on a.学号=b.学号学号 姓名 科目 分数
001 张三 语文 90
001 张三 数学 95
002 李四 语文 86
002 李四 数学 87
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 @t1 table(id varchar(50) , name varchar(50) , age int check( age >0))
declare @t2 table(id varchar(50) ,opject varchar(50), er int check(er >=0))
insert into @t1 values('001','张三',20)
insert into @t1 values('002','李四',21)
insert into @t2 values('001','语文',90)
insert into @t2 values('001','数学',95)
insert into @t2 values('002','语文',86)
insert into @t2 values('002','数学',87)
select x.id ,x.name, x1.opject , x1.er from @t1 x inner join @t2 x1 on x.id=x1.id刚毕业请老鸟指教 -----菜菜鸟