❶ 用一条sql语句 查询出每门课都大于80分的学生姓名
select name form 表名 a where a.kecheng='语文' and a.fenshu>80 and exists (select * from 表名 b where b.name=a.name and b.kecheng='数学' and b.fenshu>80 )试一下
❷ sql查询每门课程的平均成绩,并筛选出平均分大于70分的记录(要求显示字段:课程编号,平均成绩)
select avg(row) 平均成绩, 课程编号,
from table
where avg(row)>70
❸ 用一条SQL语句 查询出每门课都大于80分的学生姓名。要求用exists
select code,name from t_score a where not exists(select 1 from t_score b where b.code=a.code and b.score<=80) group by a.code,a.name
❹ SQL语句查询每门课程分数都比该门课程平均分数高的学生 学号,姓名,性别,系编号)(表见问题补充)
那么你需要和每门功课平均分做对比啊!求出每门功课的平均分,再去对比,需要用到逻辑函数。
❺ 用一条sql语句查询出“每门”课程都大于80分的学生姓名
首先需要进行分析:
要查询出每门课程都大于80分的学生姓名,因为一个学生有多门课程,所以会出现下面三种情况。
第一可能所有课程都大于80分。
第二可能有些课程大于80分,另外一些课程少于80分。
第三也可能所有课程都小于80分。
那么我们要查找出所有大于80分的课程的学生姓名,我们可以反向思考,找出课程小于80分(可以找出有一些课程小于80分,所有课程小于80分的学生)的学生姓名再排除这些学生剩余的就是所有课程都大于80分的学生姓名了。
分析完成后,进入数据图形化管理界面创建表并插入数据
--创建表aa
create table aa(
name varchar(10),
kecheng varchar(10),
fengshu int
)
--插入数据到表aa中
insert into aa values('张三','语文',81)
insert into aa values('张三','数学',75)
insert into aa values('李四','语文',76)
insert into aa values('李四','数学',90)
insert into aa values('王五','语文',81)
insert into aa values('王五','数学',100)
insert into aa values('王五','英语',90)
用一条SQL语句查询出每门课都大于80分的学生姓名
select distinct name from aa where name not in (select distinct name from aa where fengshu<=80)
结果如下图:
(5)用sql语句查询出每门课都大于扩展阅读:
除了用distinct还可以用not in 或者 not exists 实现
//not in
SELECT DISTINCT A.name FROM Student A WHERE A.name not in(SELECT Distinct S.name FROM Student S WHERE S.score <80);
//not exists
SELECT DISTINCT A.name From Student A where not exists (SELECT 1 From Student S Where S.score <80 AND S.name =A.name);
结果与前面正文一样。
❻ 用sql语句实现查询出所有的每一门功课都大于75分的学生的信息
select 学生编号 from tablename group by 学生编号 having min(学生成绩)>75
❼ 用一条sql语句查询出每门课都大于80分的学生姓名
请给出具体的表格式和列名称。
没有具体表,不同人设计的表结构不同,查询语句也不同。
例:
表名称为grade,结构如下
id 姓名 数学 语文
1 张三 30 20
2 李四 80 90
3 王五 90 70
查询语句为
select * from grade where 数学>80 and 语文>80
❽ 求所选每门课程成绩都大于该课程平均成绩的学生,求sql大神详解,
select * from student a,(select sid from score a,(select cid,avg(score) avg from score group by sid) b where a.cid = b.cid and score>avg group by sid have count(*)>=3) b where a.sid = b.sid
❾ 1、 用一条SQL语句 查询出每门课都大于80分的学生姓名
selcet name,count(*)
from A
where fenshu>=80
group by name
Having count(*)=3
count是统计记录个数
group by是将此表的姓名一栏分组。
having就是集合函数了。
❿ 用一条SQL语句,查询出每门课都大于80分的学生姓名
select name from stu where name not in(
select name from stu where
fenshu<=80 group by name having
count(*)>=1) group by name先查到任何一门不足80的学生,再排除这些学生