关键记忆点:

1.【关联子查询】

理解:用于每组组内比较时

应用场景:分组取每组最大值、最小值

#理解:where处的条件为两个表分别是同一组时,筛选满足2表与1表的比较条件,所以group by 可省略。

2.【limit()用法】

释义: LIMIT 5,10; // 检索记录行 6-15

LIMIT 5; //检索前 5 个记录行


一、课程练习题

--【视图】1.创建视图
#视图:可理解为需要经常用到的临时表
CREATE view 按性别汇总(性别,人数)
as
select 性别,count(*)
from student
group by 性别--【多行子查询】2. 哪些学生的成绩比课程0002的全部成绩里的 任意一个高?
①找出课程0002的全部成绩
select 成绩
from score
where 课程号=0002
②找比①高的学生
select 学号,课程号,成绩
from score
where 成绩>any(select 成绩from score where 课程号='0002')--【多行子查询】3.哪些学生的成绩比课程0002的全部成绩里的 全部一个高?
select 学号,课程号,成绩
from score
where 成绩>all(select 成绩from score where 课程号='0002')--【标量子查询】4.大于平均成绩学生的学号和成绩
SELECT 学号,成绩
from score
where 成绩>(SELECT avg(成绩)FROM SCORE )--【关联子查询】5.查找出每个课程中大于对应课程平均成绩的数据
select 学号,课程号,成绩
from score a
where 成绩>(select avg(成绩)from score bwhere a.课程号=b.课程号)--【关联子查询】6.找出每个课程里成绩最低的学号(分组取每组内最小值)
#错误写法:
select 学号,课程号,成绩
from score
where 成绩 in(select min(成绩)from scoregroup by 课程号)
order  by 课程号;

#注:最终显示的是成绩不是按分组来的,课程2有两个成绩

#正确写法:
select 学号,课程号,成绩
from score a
where 成绩=(select min(成绩)from score bwhere a.课程号=b.课程号)
order by 课程号;

课程3有两个学生成绩相同都是最低分
--【关联子查询】7.分组取取组内最大值
select *
from score as a
where 成绩 = (
select max(成绩)
from score as b
where b.课程号 = a.课程号);

二、sqlzoo练习题

#错误分析:代码基本逻辑都不对,框选部分是筛选条件,用在where后

#注意引号的用法

#错误分析:考察关联子查询,取每组内排序第一的值

第8题 总结

--第一次解法:
SELECT continent,name
from world w1
where name=(select w2.namefrom world w2where w1.continent=w2.continentorder by name desclimit 1)
#desc是降序排列,答案报错
条件是按字母排序排在第一,不理解到底是升序排列还是降序排列?--第二次解法
SELECT continent,name
FROM world x
WHERE x.name= (SELECT y.nameFROM world yWHERE y.continent=x.continentorder by name limit 1)
#该答案是升序排列取第一行,答案正确--第三次解法
select continent, name
from world as x
where name <= all(select name from world as ywhere y.continent=x.continent)
#该答案是升序排列的第一行,答案正确

关联查询取更新时间_数据分析之sql复杂查询相关推荐

  1. 关联查询取更新时间_2020年河北中考成绩查询时间以及入口(7.29日更新)

    家里有中学生整理了关于2020年河北中考成绩查询时间,希望对同学们有所帮助,仅供参考.欢迎大家持续关注家里有中学生微信公众号,以便获取后续事宜,避免错过时间.未获公示的家长也可以持续关注.有消息会第一 ...

  2. 关联查询取更新时间_2020年院校校考成绩查询最新汇总,持续更新中!(含九大美院校考时间表)...

    鲁迅美术学院 湖南涉外经济学院 院校成绩查询汇总 院校名称 查询时间 查询网址

  3. 数据查询分页 获取总数时间太长_干货:SQL Server 查询语句

    查看 SQL Server 中所有数据库的信息 select * from sysdatabases 查看当前使用的数据库中所有表信息 use Northwindselect * from sysob ...

  4. sql 显示百分比_轻松搞定数据分析之SQL——简单查询

    每天早起或者睡前听一首温柔而美好的音乐,是一件很幸福的事情,无论你是否懂音乐,它都能带你发现生活中的隐藏的那些美好,今天我们先来一起欣赏Mindy Gledhill的单曲<California& ...

  5. mysql 自动更新时间_如何设置mysql自动更新创建时间和更新时间

    做项目时,希望: 新增记录时,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中. 更新记录时,mysql只update更新时间字段的时间. 设置mysql自动更新创建时间和更新时间 ...

  6. 易语言mysql复制表语句_易语言SQL数据库查询语句

    一.Select语句: select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息.复制.创建数据表.其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频 ...

  7. postgresql两个列模糊比较_数据分析之SQL优化系列(二)---PostgreSQL 的索引

    参考<PostgreSQL11.2-中文手册> 下面这个链接,讲的通俗易懂,可以看看. 数据分析师不得不知道的SQL优化 - 鑫获 - 博客园​www.cnblogs.com 索引是提高数 ...

  8. sql查询初学者指南_面向初学者SQL Server查询执行计划–类型和选项

    sql查询初学者指南 When a DBA is working with the SQL Server, he/she might sometimes say that the execution ...

  9. sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息

    sql 查询超时已过期 SQL Server provides you with a good solution to automate a lot of your administrative ta ...

最新文章

  1. 为什么您应该使用基于标准的开发实践
  2. 在浏览器中进行深度学习:TensorFlow.js (四)用基本模型对MNIST数据进行识别
  3. 新一轮光伏电站产能过剩隐忧初显
  4. 8月最新阿里技术栈架构资料
  5. 设计模式C++实现(4)——原型模式、模板方法模式
  6. ubuntu 安装PCL
  7. Markdown--Latex公式编辑_验证
  8. Python精通-运算符与基本数据类型(三)
  9. 关于游戏网络设计的问题
  10. 接口与抽象类的应用(包括各自设计模式)
  11. 【测试】软件测试报告应该包含哪些内容
  12. 作为一名APP开发者,你更Care什么?
  13. 网页显示不全的原因css,css 页面显示不全怎么办
  14. 宇信科技有限公司面试题目
  15. 4.Executor执行器
  16. 线性插值基本原理推导
  17. vue入门(一)----工程vue_sell
  18. AXI总线学习(AXI34)
  19. 武大c语言网上作业答案,武大C语言题库
  20. Microsoft SQL Server2000 四个版本的区别及下载地址

热门文章

  1. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法...
  2. navicat 连接oracle
  3. 微信公众平台消息接口开发(29)校验签名与消息响应合并
  4. spring MVC - Inteceptors(拦截器)
  5. python nDPI 流量分析框架 Nfstream 简介
  6. linux stdin STDIN_FILENO 区别
  7. python3 __repr__ __str__ 区别
  8. easyui toolbar分隔线
  9. golang 字符串查找总结
  10. linux c 常用函数