name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
准备数据的sql代码:
create table score(id int primary key auto_increment,name varchar(20),subject varchar(20),score int);
insert into score values
(null,'张三','语文',81),
(null,'张三','数学',75),
(null,'李四','语文',76),
(null,'李四','数学',90),
(null,'王五','语文',81),
(null,'王五','数学',100),
(null,'王五 ','英语',90);
提示:当百思不得其解时,请理想思维,把小变成大做,把大变成小做,
答案:
A: select distinct name from score where name not in (select distinct name from score where score<=80)
B:select distince name from score t1 where 80< all (select t2.score from score t2 where t1.name=t2.name);
总结:A方法是反面求解 ,先找到分数有小于80的人,再取反。
B方法是正面求解 ,注意all的用法。
分享到:
相关推荐
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 A: select distinct name from table ...
本文档将详细介绍如何使用SQL语句来查询特定日期的数据,特别是使用`DATEDIFF`函数来精确地查询一天内或者一周内的数据。 #### 二、`DATEDIFF`函数详解 `DATEDIFF`函数是SQL中一个非常实用的功能,用于计算两个...
问题:使用一条SQL语句查询出每门课都大于80分的学生姓名。 解决方案:select distinct name from table where name not in (select distinct name from table where fenshu<=80) 这个解决方案使用了NOT IN子句来...
### SQL数据库查询语句使用精华 #### 一、SQL查询语句概述与基本结构 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它主要用于执行查询、更新数据、创建新表、索引以及视图等操作。...
1. 第一条SQL语句通过两个子查询比较了"001"课程和"002"课程的成绩,找出成绩更高的学生。 2. 第二条语句使用`avg()`函数计算平均成绩并用`having`子句筛选出平均成绩超过60分的学生。 3. 第三条语句使用`left outer...
### SQL 查询语句大全知识点详解 #### 一、简单查询 简单查询主要涉及选择列表、FROM 子句和 WHERE 子句三个基本组成部分。 ##### (一)选择列表 选择列表指定了查询的具体列,可以是单个列名、多个列名、星号...
这是一条典型的分组查询,首先按学生学号分组,计算每位学生的平均成绩,再筛选出平均成绩大于60分的学生学号和对应的平均分。 #### 3. 查询每位学生选课数量及其总成绩 ```sql select Student.S#, Student.Sname,...
这个查询返回了执行次数大于0的SQL语句,按照平均执行时间降序排列。`ELAPSED_TIME`字段表示总的执行时间(单位为微秒),`EXECUTIONS`字段代表执行次数。通过除法计算出平均执行时间,并将结果限制在50条记录内。 ...
在这个查询中,我们使用了 group by 子句来分组学生,然后使用 having 子句来过滤出平均成绩大于 60 分的学生。最后,我们选择出学生的学号和平均成绩。 查询所有同学的学号、姓名、选课数、总成绩 在这个查询中,...
-- 查询每门课程成绩都高于该门课程平均分的学生学号 SELECT S.Sno FROM Student S JOIN SC SC ON S.Sno = SC.Sno WHERE SC.Grade > (SELECT AVG(Grade) FROM SC WHERE Cno = SC.Cno) GROUP BY S.Sno HAVING COUNT...
此查询找出所有课程成绩都低于60分的学生。 **SQL语句详解:** ```sql select S#, Sname from Student where S# not in (select Student.S# from Student, SC where S.S# = SC.S# and score > 60); ``` - **NOT ...
根据提供的标题、描述以及部分示例内容,我们可以总结出这些SQL语句主要涉及的基本操作及其应用场景。下面将详细解释这14个SQL语句的知识点: ### 1. 查询同时选修了课程号为‘001’和课程号为‘002’的学生学号及...
**JsonSQL: SQL语句解析JSON文件** 在大数据处理和Web应用中,JSON(JavaScript Object Notation)格式已经成为数据交换的常见格式。然而,对于习惯使用SQL查询关系型数据库的人来说,处理JSON数据可能会觉得不太...
通过多个子查询分别计算出小于1.0、介于1.0到1.4、介于1.4到1.8以及大于等于1.8的数据数量,并与主查询进行联接,最终输出每个站点在各数据区间的记录数,即使某些区间内无记录也能正确显示。 #### 知识点五:存储...
题目 1: 用一条 SQL 语句查询出每门课都大于 80 分的学生姓名 答案:select distinct name from table where name not in (select distinct name from table where fenshu<=80) 解释:这道题目考察了候选人对 SQL ...
- **知识点**:这里首先使用`GROUP BY`对学号进行分组,然后使用`HAVING`子句筛选出选修了多门课程的同学,最后使用子查询找到这些同学中的非最高分成绩。 #### 21. 查询成绩高于学号为“109”、课程号为“3-105”...
例如,如果你有一个名为`Students`的表,可以这样插入一条新记录: ``` INSERT INTO Students (Name, Age) VALUES ('张三', 18); ``` 2. **删除数据(DELETE)** DELETE语句用于从表中移除记录。基础形式如下...
- **解析**:使用`AVG()`函数计算平均成绩,并用`GROUP BY`按学生分组,最后通过`HAVING`子句过滤出平均成绩大于60分的学生。 #### 实例3: 查询学生基本信息及所选课程数量、总成绩 ```sql SELECT Student.S#, ...
第二种方法旨在查询并显示每组重复记录中的一条,这通常用于初步识别哪些记录存在重复问题。具体实现如下: ```sql SELECT * FROM HZT WHERE ID IN (SELECT MAX(ID) FROM HZT GROUP BY Title); ``` 这里,我们...
为了使SQL语句更加清晰,通常会给表起别名。例如: ```sql SELECT username, b.cityid FROM usertable a, citytable b WHERE a.cityid = b.cityid; ``` 此外,`SELECT`语句不仅可以从表或视图中检索数据,还可以从...