热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

查询某一批名字的人mysql_MYSQL之——查询练习题

1、用一条SQL语句查询出chengji表,每门课都大于80分的学生姓名。namekechengfenshu张三语文81张三数学75李四语文76李四数学90王五语文8

1、用一条SQL 语句 查询出`chengji`表,每门课都大于80 分的学生姓名。

name   kecheng   fenshu

张三     语文         81

张三     数学         75

李四     语文         76

李四     数学         90

王五     语文         81

王五     数学         100

王五     英语         90

sql&#xff1a;select distinct name from chengji where name not in (select name from chengji where fenshu<&#61;80 );

sql&#xff1a;select name from chengji group by name having min(fenshu)>80

思路&#xff1a;筛选出小于等于80的分数的名字&#xff0c;过滤掉小于等于80的分数的名字&#xff0c;再对名字进行去重

对名字进行分组&#xff0c;再判断大于80的分数

注&#xff1a;分组前&#xff0c;条件使用where&#xff1b;分组后&#xff0c;条件使用having&#xff1b;having后通常跟聚合函数

2、学生表 如下:

自动编号    学号       姓名    课程编号    课程名称    分数

1             2005001   张三     0001          数学      69

2             2005002   李四     0001          数学      89

3             2005001   张三     0001          数学      69

1)查询出重复的数据&#xff0c;且id为最大或者最小的

sql&#xff1a;select max(id) id,name,kecheng,fenshu from chengji group by fenshu,kecheng,name having count(name)>1

sql&#xff1a;select min(id) id,name,kecheng,fenshu fromchengji group by fenshu,kecheng,name having count(name)>1

2)删除除了自动编号不同, 其他都相同的学生冗余信息。

sql&#xff1a;

3、一个叫 team 的表&#xff0c;里面只有一个字段name, 一共有4 条纪录&#xff0c;分别是a,b,c,d, 对应四个球对&#xff0c;现在四个球对进行比赛&#xff0c;用一条sql 语句显示所有可能的比赛组合.

思路&#xff1a;先把team分成两个表&#xff1b;两表组合&#xff1b;去掉重复的组合

sql&#xff1a;select a.name,b.name from team a,team b where a.name

4、

eb72cb2ba43e496aa47d93d56ebe92df.png

809bdbfcb50489f246520ad3bf22d339.png

f1e43bb86404a32eeaaaf9bbaf162dfe.png

问题&#xff1a;

1)查询张三的2019年生产产品的销售量(使用left join 关键字)

sql&#xff1a;

select

*

from sales

left join deal on sales.S&#61;deal.S

left join production on deal.P&#61;production.P

where Sname&#61;&#39;张三&#39; and Pdate like &#39;2019%&#39;;

2)查询生产日期2020年的一季度各产品的总销量

sql&#xff1a;

select

t2.P,t2.Pname, SUM(Voulume),t2.Pdate

from deal t1

left join production t2 on t1.P&#61;t2.P

where t2.Pdate like &#39;2020%&#39;

GROUP BY t2.P;

3)查询销售量最高的产品的销量(使用group by关键字)

sql&#xff1a;

select

a.P,a.Pname,max(a.sum1)

from

(

select

t1.P,t1.Pname,sum(Voulume) as sum1

from

production t1

left join deal t2 on t1.P&#61;t2.P

group by t1.P

) a;

5、表名&#xff1a;test_tb_grade

图1

9167682bc40753404395d234b36102be.png

图2

e0c09c73472bedd8792271cb1d1c024b.png

将图1转换为图2

sql&#xff1a;

SELECT id,user_name ,

MAX(CASE course WHEN &#39;数学&#39; THEN score ELSE 0 END ) 数学,

MAX(CASE course WHEN &#39;语文&#39; THEN score ELSE 0 END ) 语文,

MAX(CASE course WHEN &#39;英语&#39; THEN score ELSE 0 END ) 英语

FROM test_tb_grade

GROUP BY USER_NAME;

6、表名&#xff1a;ta

图1

7f7ba5e137d431ba6f8c1cc64850fd2e.png

图2

54a34a04338613a03b336d407484f61e.png

对图1表查成图2的结果

sql&#xff1a;select date_format(datas,&#39;%Y-%m-%d&#39;) &#39;日期&#39; from ta

7、查询出近一周/一月/一年的数据

select * from ta where DATEDIFF(now(),datas)<&#61;7;

select * from ta where DATEDIFF(now(),datas)<&#61;30;

select * from ta where DATEDIFF(now(),datas)<&#61;365;

8、请写出一个SQL来查询分数前五5的所有人&#xff1f;

select * from 分数表 order by 分数 desc limit 5;



推荐阅读
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • SQL 连接详解与应用
    本文详细介绍了 SQL 连接的概念、分类及实际应用,包括内连接、外连接、自连接等,并提供了丰富的示例代码。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文讨论了在进行 MySQL 数据迁移过程中遇到的所有 .frm 文件报错的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 深入解析 SQL 数据库查询技术
    本文深入探讨了SQL数据库查询技术,重点讲解了单表查询的各种方法。首先,介绍了如何从表中选择特定的列,包括查询指定列、查询所有列以及计算值的查询。此外,还详细解释了如何使用列别名来修改查询结果的列标题,并介绍了更名运算的应用场景和实现方式。通过这些内容,读者可以更好地理解和掌握SQL查询的基本技巧和高级用法。 ... [详细]
  • 本文总结了在SQL Server数据库中编写和优化存储过程的经验和技巧,旨在帮助数据库开发人员提升存储过程的性能和可维护性。 ... [详细]
  • 如何使用 `org.opencb.opencga.core.results.VariantQueryResult.getSource()` 方法及其代码示例详解 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
author-avatar
fishandyp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有