数据库问题请教

来源:百度知道 编辑:UC知道 时间:2024/06/02 19:38:13
1、在学生表中查询姓李的人
2、在成绩表中查询课程号01的课程前2名学生的信息.按照降序排列
3、查询课程的平均分.最高分及考试人数
4、用内联接的方法从学生表和成绩表中查询学生的姓名和成绩
四题是不相关的!

1、select * from student where name like ‘李%’ --必须有引号,且“李”字前不能有“%”,否则就不表示只查询姓李的了,而查询姓名中含有‘李’字的。
2、select top 2 * from 成绩表 where 课程号=‘01’ order by 成绩 desc -- top 2后有 '*'.
3、这问题,太含糊,第一不知道你问某一学生的平均分呢,还是一个班级的平均分,第二最高分是说某一物理学的某一科目最高分还是全班的某科最高分,还是其他。第三统计人数,也至少需要学生表与成绩联合查询,如果一个学生不止考一个科目,就还需要按学生编号、姓名分组或用DISTINCT过滤重复.
4、 select x.学生编号,x.学生姓名,c.科目,c.成绩 from 学生表 as x inner join 成绩表 as c on x.学生编号=c.学生编号 --这是假设两表之间有'学生编号'关联。

select * from 学生表 where 姓名 like %李%

2.select top 2 from 成绩表 where 课程号=01 order by 成绩 desc

3.这个表达结构不清楚 平均分avg(成绩)。。最高分max(成绩) count()可以查出考试人数
4.非得用内连接?
select a.姓名,b.成绩 from 学生表 a,成绩表 b where 关联的列

4、用内联接的方法从学生表和成绩表中查询学生的姓名和成绩
selece a.姓名, b.成绩
from 学生表 as a inner join 成绩表 as b
on a.学生编号= b.学生编号
这里 as 是把学生表与成绩表简写成 a b