可以参考下面的代码:
select s姓名, s专业, sc成绩, c课程名称
from 学生基本情况表 s, 成绩表 sc, 课程表 c
where s学号 = sc学号 and c课程编号 = sc课程编号
and sc成绩 > 90
扩展资料:
sql语句
删除列:
Alter table table_name drop column column_name--从表中删除一列
添加主键:
Alter table tabname add primary key(col)
平均:
select avg(field1) as avgvalue from table1
最大:
select max(field1) as maxvalue from table1
参考资料来源:百度百科-SQL语句大全
参考资料来源:百度百科-sql语句
select name from 学生表名
where (科目一列名 + 科目二列名 + ···· + 科目N列名) > 600
--假设一共有N个科目,一个学生的所有课程的成绩都在一个记录的情况如上
--可能你的意思是还有课程信息作为一列属性?主键约束学号不能重复,所以猜想你可能是对一张临时表进行查询
--请详细说明具体情况
把使用别名变为两个表a,b,不知道你说的最近两个日期是指数据库ID相邻的两个日期,还是离当前日期最近,我理解为ID相邻最近,日期相差我用 datediff函数,取了一下绝对值,查询结果如我截图,不知道你需要得到的是哪一个姓名,是前一条记录姓名还是后一条记录的姓名,我理解为后一条姓名。
查询语句是
SELECT aid, a姓名, a日期,b日期
FROM info a ,info b
where aid=bid+1 and Abs(DateDiff('d',a日期,b日期))>90
如果要得到前一条记录的语句如下,把加号改为减号
SELECT aid, a姓名, a日期,b日期
FROM info a ,info b
where aid=bid-1 and Abs(DateDiff('d',a日期,b日期))>90
不知道帮到你没有。也许其他朋友也可以参考。另外也许有更好的办法
注:我是ACCESS里测试的。
select t1sname,t2sscore from sutdent_bak t1,
(select from score where sid in (select sid from student_bak where sspecialty='通信工程') and cid in (select cid from course where cname ='数学')) t2,
(select from score where sid in (select sid from student_bak where sspecialty='通信工程') and cid in (select cid from course where cname ='英语')) t3
where t1sid=t2sid and t1sid=t3sid and t2sscore>t3sscore
以上就是关于sql查询语句的问题,“列出成绩大于90的所有学生的姓名、专业、课程名称、成绩”这条语句怎么写全部的内容,包括:sql查询语句的问题,“列出成绩大于90的所有学生的姓名、专业、课程名称、成绩”这条语句怎么写、若学生表中储存了学号、姓名、成绩等信息,“查询学生表中所有成绩大于600分的姓名”的SQL语句是、在一个有id 姓名 日期的sql数据表中如何查询最近两个日期相差大于90天的姓名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)