查询在学生表而没在选课成绩表
① 从学生表和选课成绩统计并显示每个学生学号,姓名,各科成绩之和用sol编码怎么
从学生表和选课成绩统计并显示每个学生学号,姓名,各科成绩之和用sol编码殖后期,勤开机,促进水产养殖对象生长
② SQL 查询 “查询学生成绩超过其选修课程平均成绩的课程号”
原来多表联合查询还可以用列与列之间进行比较。联合查询后,在where用选课表的成绩列 大于 选课表平均成绩。
student为学生表,class为课程表,selectclass为选课关系表。
select * from selectclass as t1,
(select avg(sc.classreult)as pingjun,sc.classID from selectclass as sc group by classid )as t2
where t1.classID=t2.classID and t1.classReult>t2.pingjun
③ 数据库中现有学生表,选课表,成绩表,怎么删除大于18岁学生的所有选课信息
假设这3个表的结构来如下:
学生表自(学号,姓名,年龄,出生日期)
选课表(学号,课程号,课程名称)
成绩表(学号,课程号,成绩)
以上述表结构为前提,T-SQL语句如下:
delete 成绩表 where 学号 in (select 学号 from 学生表 where 年龄>18)
delete 选课表 where 学号 in (select 学号 from 学生表 where 年龄>18)
如果学生表中没有‘年龄’字段,只有‘出生日期’字段的话,T-SQL语句如下:
delete 成绩表 where 学号 in (select 学号 from 学生表 where datediff(yy,出生日期,getdate())>18)
delete 选课表 where 学号 in (select 学号 from 学生表 where datediff(yy,出生日期,getdate())>18)
④ 从教学库中查询每个学生的学号、选课门数和平时成绩,写出SQL语句
这个应该涉及到三个表吧
select 学生表.学号,count(课程.科目) as 选课内门数,成绩表容.平时成绩 from 学生表,课程表,成绩表 where 学生表.学号=课程表.学号 and 课程表.课程号=成绩表.课程号
⑤ 查询没有选课的学生信息
Access的一道查询题中,Not In (select tScore.学号 from tScore)表示什么意思?tScore是一个表的名字
大概意思是查找出没有选课学生的信息,not in(select tscore.学号 from tscore)应该填在学生表(可能叫tstu)里学号字段所对应的条件位置,这里的tscore表里的信息应该是学生的成绩,也就是选了课的学生的成绩,select 学号 from tscore(直接写学号就可以,不用写tscore.学号,写上也不算错)意思在tscore表里把学号列出来,这里列出的学号是指选了课的学生的学号,前面加上not in 是不包含于的意思,也就是在学生表里把学号不包含于选课学生的学号的学生信息列出来,即为没选课学生的信息。
⑥ 关于学生,课程,选课三张表的sql查询
select 选课.学号,姓名,AVG(成绩)'平均分',COUNT(选课.课程号)'选课门数' from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 group by 选课.学号,姓名 HAVING COUNT(选课.课程号)>4 ORDER BY AVG(成绩) DESC
--------------------------------------
CREATE VIEW 查询 AS
select top 100 选课.学号,姓名,AVG(成绩)'平均分',COUNT(选课.课程号)'选课门数' from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 group by 选课.学号,姓名 HAVING COUNT(选课.课程号)>4 ORDER BY AVG(成绩) DESC
其中DESC是降序排列,ASC是升序排列,默认是升序
ORDER BY AVG(成绩)也可以写成ORDER BY 平均分,因为已经指定了别名
“CREATE VIEW 查询”中的“查询”是新表名, 如果有“ORDER BY AVG(成绩) DESC ”这句,则须有“top”,否则出错“除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。”
⑦ 7、 以学生表和成绩表为数据源,建立名为“未选课学生查询”的嵌套查询,查询出学生的学号和姓名。所谓未
以下的sql语句可以参考一下:
select 学号,姓名
from 学生表
where 学号 not in ( select distinct 学号 from 成绩表 )
⑧ sql语句在学生表中查询4号同学成绩高于80分的课程号
原来多表联合查询还可以用列与列之间进行比较。联合百查询后,在where用选度课表的成绩列 大于 选课表平均成绩。
student为学生问表,答class为课程表,selectclass为选课关系表。
select * from selectclass as t1,
(select avg(sc.classreult)as pingjun,sc.classID from selectclass as sc group by classid )as t2
where t1.classID=t2.classID and t1.classReult>t2.pingjun
⑨ 在SQL中创建学生表课程表还有成绩表怎么 (1)查询有多少同学选修了课程。(2) 查询有多少同学没有选课
您的问题描述不是很清楚。我的理解是如果成绩表里有学生ID和课程ID字段,那么可以用学生表左连接成绩表,新结果集右表有值的就是答案1,没有的就是答案2。
⑩ sql语言中这个表有而那个表没有怎么说
查询某个字段内容在表1中存在而在表2中不存在的记录:
SELECT * FROM 表1 WHERE NOT 字段 IN (SELECT 字段 FROM 表2)