sql练习:查询所有课程成绩小于60 分的同学的学号、姓名;

student表sno
course表 cno,tno
sc表sno,cno,score
teacher表 tno
这个sql怎么写?
还有一个不会,如下:
(2)查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
(1)select st.*,s.score from student st
join sc s on st.sno=s.sno
join course c on s.cno=c.cno
where s.score <60

(2)select st.* from student st join sc s on st.sno=s.sno
join course c on s.cno=c.cno
join teacher t on c.tno=t.tno
where t.tname='谌燕'

这么写感觉不对呢

(2)这么写坑定不对,这么写得出的答案是“上过那个老师的课程的学生”而不是“上过那个老师所有课程的学生”,而且那个答案效率太低,还不如这个:
select sno,sname from student
where sno in(select sno from sc
where cno in (select cno from course
where tno in (select tno from teacher where tname='谌燕')));
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-08
select s.sno,s.sname from student s join sc c on s.sno=c.sno where c.sno not in (select distinct sno from sc where score>60);
第2个回答  2013-07-09
第一个:
select sno,sname from student where sno not in (select sno from sc where score>=60)
第二个那个sc表中sno是sc表的主键还是student表的主键追问

sno是student表的主键

第3个回答  2013-07-09
select st.*,s.score from student st
inner join sc s on st.sno=s.sno
inner join course c on s.cno=c.cno
where s.score <60

掉了 inner 或者 left 或者 right本回答被网友采纳

sql练习:查询所有课程成绩小于60 分的同学的学号、姓名;
where cno in (select cno from course where tno in (select tno from teacher where tname='谌燕')));

数据分析面试必备——SQL经典50题思路及答案详解
1、查询“01”课程比“02”课程成绩高的所有学生的学号;2、查询平均成绩大于60分的同学的学号和平均成绩;3、查询所有同学的学号、姓名、选课数、总成绩 4、查询姓“李”的老师的个数;5、查询没学过“张三”老师课的同学的学号、姓名;6、查询学过编号“01”并且也学过编号“02”课程的同学的学...

SQL程序设计(自定义函数):求平均成绩低于60分的学生姓名,系别,最低成 ...
create proc p_info as --查找出平均分低于60分的学生的学号、课程号和成绩,并生成一张子表tmpSC select Sno,Cno,Grade into tmpSC from SC SC1 where (select avg(Grade) from SC SC2 where SC1.Sno=SC2.Sno)<60 --再由tmpSC,Student和Course联合查询出信息 select Sname,Sdept,Grade,...

SQL查询出有成绩不及格的学生的学号,姓名,课程名。
select a.学号 , a.姓名 , b.课程名 from tbStudent a , tbCourse b , tbScore c where c.成绩 < 60 and a.学号 = c.学号 and b.课程号 = c.课程号

...信息系三门以上不及格课程的学生学号和姓名 用sql语句怎么写_百度知 ...
请参阅以下sql select [学号],[姓名] from [学生信息表] where exists( (select [学号] from [成绩表] where [课程]<60 group by [学号] having count([课程]) >=3 ) as t1 where [t1].[学号] = [学生信息表].[学号] )有疑问及时沟通 一般情况下,这样写就可以了 请采纳!

数据库sql语言
SQL 练习题 一 学生 – 课程数据库 1 查询 7号课程没有考试成绩的学生学号 select sno from sc where cno=’7’ and grade is null 2 查询 7号课程成绩在90分以上或60分以下的学生学号 select sno from sc where grade>90 or grade<60 3 查询课程名以“数据”两个字开头的所有课程的课程号...

SQL第六关-面试题
检索课程编号为“0004”且分数小于60的学生学号,结果按按分数降序排列 统计每门课程的学生选修人数(超过2人的课程才统计)查询两门以上不及格课程的同学的学号及其平均成绩 查询所有课程成绩小于60分学生的学号、姓名 查询没有学全所有课的学生的学号、姓名 查询出只选修了两门课程的全部学生的学号和姓名 ...

怎么用SQL查询平均成绩最低的学生姓名及所选课程名?
SELECT s.姓名, c.课程名称 FROM 学生平均成绩 sag JOIN 学生 s ON sag.学生ID = s.ID JOIN 学生课程 sc ON sag.学生ID = sc.学生ID JOIN 课程 c ON sc.课程ID = c.ID ORDER BY sag.平均成绩 LIMIT 1 注意:以上代码假定您有名为学生成绩(具有列学生ID和成绩)、学生(具有列ID和...

sql数据库查询语句例子
查询学过“叶平”老师所教的所有课的同学的学号、姓名:查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名:查询所有课程成绩小于60分的同学的学号、姓名:查询没有学全所有课的同学的学号、姓名:好了,这就是关于sql数据库查询语句的基础了。我都替你们整理好了,感兴趣的同学...

查询每个学生的各科成绩sql语句
1、查询每个学生的各科成绩sql语句:select a.studentid,a.name,a.sex,v1.score as '语文',v2.score as '数学', v3.score as '英语',v4.score as ‘哲学’, (v1.score+v2.score+v3.score+v4.score)\/4 as ‘平均成绩’ from Stuednt aleft join (select studentid,score from ...

相似回答