读书人

现有两表求一查询语句,该如何解决

发布时间: 2012-02-23 22:01:34 作者: rapoo

现有两表,求一查询语句
表1:分数表
字段:分数Id(主键),学生Id,科目Id,分数
表2:科目表
字段:科目Id(主键),科目名

现已知学生Id,如何查处此学生的所有科目以及科目所对应的分数及:
科目 分数
JAVA 90
.NET 100


如何实现请高手指点。。。。

[解决办法]

SQL code
select a.学生Id, b.科目名, a.分数from 分数表 a  left join 科目表 b on a.科目Id=b.科目Idwhere 学生Id='某学生的Id'
[解决办法]
select 科目,分数 from 表2 k
inner join 表1 f on k.科目Id=f.科目Id
where 学生Id=xxx
[解决办法]
3楼正解
[解决办法]
分数表 s 科目表 c
SQL code
select s.学生ID,c.科目名,a.分数from s,cwhere s.学生ID=“需要查询的学生ID” and s.科目ID=c.科目ID
[解决办法]
SQL code
select a.学生Id, b.科目名, a.分数from 分数表 ajoin 科目表 b on a.科目Id=b.科目Idwhere 学生Id=学生的id
[解决办法]
还可以写成

SQL code
select a.学生id,b.科目名,a.分数from 分数表 a,科目表 b where a.科目Id=b.科目Id and  学生Id=xxxxx某学生id
[解决办法]
select a.学生Id, b.科目名, a.分数
from 分数表 a
left join 科目表 b on a.科目Id=b.科目Id
where 学生Id='某学生的Id' ]
left join:是返回左表中的所有行,包括与连接条件(on a.科目Id=b.科目Id )不匹配的行,如果b表中没有字段与之对应,则返回NULL,

联机帮助文档上面写的很详细的~


[解决办法]
SQL code
select 科目,分数  from 表2 k inner join 表1 f on k.科目Id=f.科目Id where 学生Id=xxx
[解决办法]
探讨
引用:


SQL codeselect a.学生Id, b.科目名, a.分数
from 分数表 a
left join 科目表 b on a.科目Id=b.科目Id
where 学生Id='某学生的Id'


谢谢您,可以帮我解释一下吗。我SQL很菜啊。呵呵

读书人网 >asp.net

热点推荐