当前位置: 首页 > news >正文

联合查询

1.为什么要使用联合查询?

联合查询也叫多表查询。在设计数据库表时,由于范式的要求,数据被拆分到多个表中,在查询一条数据的完整信息,就要从多个表中获取数据。

2.多表查询时MySQl内部是怎样计算的?

笛卡尔积

多表查询是一个低效操作,如果一次联合的表过多,SQL执行的会很慢,造成系统卡顿

3.内连接

1.语法

2.查询学生的班级及班级名称

MySQL内部进行笛卡尔运算后得到的结果是混乱的,需要加上条件得到期望结果

3.查询学生姓名为孙悟空的个人信息和班级信息alter

内连接还可写为:

4.查询唐三藏同学的成绩alter

5.查询所有同学的总成绩

6.查询每个同学每门课的成绩

4.外连接

外连接与内连接得到的结果可能不同

1.外连接的结果与表内数据对应关系有关

1.当两个表一一对应时

1.内连接
2.左外连接
3.右外连接

2.当两个表数据不一一对应时

注意:补充:在MysQl安全更新模式下,要删除表内全部数据,先关闭安全模式,才能进行删除

MySQL认为

delete from stu;
delete from score;

不安全的原因是:没有where条件

1.内连接

得到两个中同时存在的结果

2.左外连接

左表的全部内容

3.右外连接

右表的全部内容

5.全外连接MySQL不支持

6.自连接

1.自连接可以比较行与行的关系

where条件语句只能比较列于列之间的关系,当需要比较行与行之间的关系时,就需要表和表自身自连接

但是需要注意:表名需要不同

正确写法:

得到的结果数据混乱,须加条件控制

2.查询Java班MySQL比Java成绩高的学生信息

1.原始scores表共有28条数据,没有条件,一条数据和自身表的28条数据笛卡尔积。自连接后新查询的表有28*28条数据

2.用学号相等控制后,一个学号下有4条数据,相等学号的进行笛卡尔积后一个学号有4*4条数据

3.

4.

5.

3.显⽰所有"MySQL"成绩比"JAVA"成绩⾼的学⽣信息和班级以及成绩信息

7.在条件里使用子查询

子查询是指把一个select语句当作另一个select语句的查询条件

1.单行子查询——返回一个列的一个数据

1.查询“不想毕业”同学的同班同学

先查询该同学所在班级

根据所查到的班级号,再查询他的同班同学

用子查询语句写就是:

之所以叫做单子行查询就是因为自句的select的返回一个列的一个值

2.多行子查询——返回一个列的多个数据

3.多行子查询——返回多个列的数据

1.查询重复录入的分数

重复录入

group by的作用:把两条记录一样的数据分为一组

having的作用:原本正常记录的数据再group by之后每条各自为一组,count(x)=1;重复的记录count(x)>=2.其作用是过滤掉正常记录

8.在from语句中使用子查询

为什么from语句里可以使用子查询?

当一个查询产生结果时,MySQL自动创建一个临时表,把结果集放在这个临时表中,最终输出查询结果。在from子句中可以使用临时表进行子查询或表连接操作

1.查询所有比“Java01班”平均分高的成绩信息

9.合并查询

为了合并多个select操作返回的结果,可以使用集合操作符union,union all

1.union

2.union all

要合并的两个表,列的数据类型必须完全一致

http://www.jsqmd.com/news/639086/

相关文章:

  • MySQL 死锁问题分析与解决
  • HY-MT1.5翻译模型快速入门:基于星图镜像的部署与测试
  • 升鲜宝生鲜配送供应链管理系统源代码——CRM模块功能设计(二)
  • Modern.js 3.0 正式发布:更聚焦的 Web 框架,全面拥抱 Rspack 与 RSC
  • 日常测试工程稳定保证流程
  • AllData数据中台通过集成开源项目Apache IOTDB Web相关项目,建设物联网数据库平台
  • HY-MT1.5-7B镜像使用指南:Jupyter Lab调用与常见问题解决
  • LiuJuan20260223Zimage多模态潜力展望:从文本到未来图像与代码生成
  • Pi0 LeRobot 0.4.4兼容性部署指南:解决PyTorch版本冲突实操
  • 测试人员必看:避开这5个职业陷阱,升职加薪不是梦
  • 一文速成!Pytest自动化框架面试题,帮你全部搞定!
  • ucharts堆叠柱状图实战:如何动态调整Y轴范围让零线居中(附完整代码)
  • 创建SpringWeb项目(Spring2.0)
  • 漫谈上海比较好的美国移民公司,价格与专业度的考量 - 工业品牌热点
  • linux下语言设置
  • CAN知识大全——带你读懂CAN数据手册
  • MobileNetSSD_deploy.caffemodel下载地址
  • LightOnOCR-2-1B快速上手:使用LightOnOCR-2-1B构建微信小程序OCR接口
  • ChatGPT 深度实测:到底有没有?功能全不全?版本新不新?
  • AI智能体视觉检测系统(TVA)工作原理系列(十二)
  • 瑞祥商联卡回收全攻略,高效又安全! - 团团收购物卡回收
  • 别再盲目找!适合你的CRM系统,从这几个选项开始选 - 毛毛鱼的夏天
  • 软件工程师如何5年内薪资翻倍?真实案例揭秘
  • 黑丝空姐-造相Z-Turbo项目文档自动化:用LaTeX排版生成报告与论文
  • 如何在Windows上免费创建10个虚拟显示器:终极解决方案指南
  • 2026年靠谱的婚姻律师推荐,宁波处理非婚生子女抚养纠纷律师哪家好 - 工业品网
  • 【Hyper-V】Windows11家庭版如何解锁并启用Hyper-V功能
  • 长芯微LPA8421完全P2P替代AD8421,是一款低成本、低功耗、极低噪声、超低偏置电流、高速仪表放大器
  • 知网AIGC标红怎么救?10款免费降AI工具实测指南
  • Next.js从入门到实战保姆级教程:错误处理与加载状态