MySQL查询---联合查询
目录
1. 内连接
2. 外连接
1. 左(外)连接
2. 右(外)连接
3. 自连接
4. 子查询(嵌套查询)
5. 合并查询
1. 内连接
select * from table_name1 join table_name2 [on 条件] [where 表达式];select * from table_name1 inner join table_name2[on 条件][where 表达式];select * from table_name1 cross join table_name2[on 条件][where 表达式];select * from table_name1 , table_name2[where 条件];(on是过滤笛卡尔积中的无效数据)
内连接实现1:要求查询张三的成绩
步骤:1. 进行内连接查询(笛卡尔积) 2. 去掉无效的数据 3. 查询张三的成绩(where过滤条件)
1. 进行内连接查询(笛卡尔积):
2. 去掉无效的数据:
3. 查询张三的成绩(where过滤条件):
或者
不强制要求起别名,但是建议加上别名可以简化程序并且以免相同字段过多而报错。
内连接实现2:查询每个人成绩、科目名、个人信息
步骤:1. 连表查询(3张表)select * from t1 join t2 join t3; 2. 过滤无意义数据
2. 外连接
1. 左(外)连接
select * from t1 left join t2 [on 连接条件][where 条件查询];
(on是过滤笛卡尔积中的无效数据)
(t1是主表,t2是次表)
2. 右(外)连接
select * from t1 right join t2 [on 连接条件][where 条件查询];
(on是过滤笛卡尔积中的无效数据)
(t2是主表,t1是次表)
将右连接用左连接来实现:
select * from t2 left join t1 [on 连接条件][where查询条件];
(t2是主表,t1是次表)
联表查询中,on与where的区别:
1. 内连接on是可以省略的,而外连接on不能省略。
2. on在内连接中的执行效果和外连接中的执行效果是不一样的。
3. 在外连接中on和where是不一样的。
外连接中on不能过滤掉主表中的数据,而内连接on可以过滤掉全局数据。
外连接查询时,如果有多个查询条件,是将查询条件的表达式全部写在where表达式中,而非on中,在on中一般情况下只需要写一个笛卡尔积无效数据的过滤条件即可。
3. 自连接
自连接是指在同一张表上连接自身进行查询。
自连接实现:查询英语成绩小于计算机程序的数据(自己和自己进行连表查询)
步骤:1.先根据科目名称查询出科目id 2. 子查询(笛卡尔积) 3. 取出笛卡尔集中无效数据 4. 设置where条件,让表1只查询英语成绩,表2查询计算机程序 5. 设置where 多条件查询,让英语成绩大于计算机成绩
4. 子查询(嵌套查询)
子查询实现1:查询张三的同班同学
步骤:1. 查询张三的班级id 2. 学生表里面根据上一条查询的班级id查询出所有的列表,找出张三的同班同学
子查询实现2:查询计算机或英语成绩
步骤:1. 计算机或者英语的科目id 2. 查询成绩表where科目id等于计算机id或者是英语id
in 和 = 的区别:
= 查询需要一个具体确定的值
in 查询可以使一个或多个值,并且满足任意一个将返回true
5. 合并查询
union查询id小于3,或者名字为“英文”的课程:select * from course where id<3unionselect * from course where name='英文';-- 或者使用or来实现select * from course where id<3 or name='英文';
union all查询id小于3,或者名字为“Java”的课程select * from course where id<3union allselect * from course where name='英文';
![](/assets/blank.gif)
union 和 union all 区别:
union会将合并的结果集中的重复数据去重,只保留重复数据中的一条,而union all 是即将结果集全部合并,即使有重复的数据结果也不会进行合并操作。
MySQL查询---联合查询相关推荐
- mysql限制查询/外连接查询和内连接查询/联合查询
mysql查询之limit限制查询 作用:对查询结果起到限制条数的作用 语法:limit n,m n:代表起始条数值,默认为0:m代表取出的条数 应用场合:数据量过多时,起到限制作用 如图 mysql ...
- mysql联合查询怎么加子查询_MySQL数据库 —子查询,联合查询
编程之家收集整理的这篇文章主要介绍了MySQL数据库 -子查询,联合查询,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. <MySQL数据库 -子查询,联合查询>要点: 本文 ...
- ArcGIS Engine属性查询和空间查询联合查询要素
ArcGIS Engine属性查询和空间查询联合查询要素 项目中遇到了需要通过属性查询和空间查询两种查询方式联合,查找要素,主要流程是先通过空间查询,选择到符合条件的要素,添加到选择集中,然后再通过属 ...
- mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)
前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...
- mysql join 联合查询,MySQL连接(join)查询
1. MySQL连接(join)查询 连接(join)查询是将两个查询的结果以"横向对接"的方式合并起来的结果. 对比:联合查询 是将两个查询的结果以"纵向堆叠" ...
- MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询
本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...
- mysql 分组联合查询_【MySQL】-2 函数、分组、子查询、联合查询
函数 Mysql的函数特性没有SQL可移植性强. 大多数情况下支持的函数: 处理文本串的函数: RTrim():处理列值右边的空格 LTrim():处理列值左边的空格 Trim():处理列值的左右两边 ...
- MySQL之连接查询+分页查询+联合查询
连接查询 sql92和sql99的区别:** sql99使用join关键字替代了之前的逗号,并且将连接条件和筛选条件进行了分离,减少语法出错的几率,提高阅读性 卡尔乘积现象:没有有效的连接条件 内连接 ...
- 【MySQL】联合查询
目录 1.前言 2.联合查询 3.内连接和外连接 4.案例演示 4.1 查询篮球哥每科的成绩 4.2 查询所有同学的总成绩及邮箱 5.自连接 5.1 显示所有计算机原理成绩比java成绩高的同学 6. ...
- Mysql的联合查询的索引小结
1.顺带提一下mysql的sql执行顺序: FORM: 对FROM的左边的表和右边的表计算笛卡尔积.产生虚表VT1 ON: 对虚表VT1进行ON筛选,只有那些符合<join-condition& ...
最新文章
- [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
- thread 在 surfaceview 中的使用与删除
- 【TensorFlow】TensorFlow函数精讲之value()
- 从0到1构建支撑企业自动化运维体系
- infacmd 把工作流添加到应用程序_【案例】Animate 发布Win应用程序
- 拆轮子系列--RxJava理解(一)--Map解析
- Windows 部署服务(WDS)基础配置指南 (2008 or 2008R2 Only)
- BIND 服务器修复多个高危漏洞
- jQuery 3 有哪些新东西
- python有什么内容_python的类(简介,没什么内容)
- resin服务器搭建
- 时间序列分析——python
- Allegro PCB多层板中负片热风焊盘的制作以及flash的添加
- seo网站关键词优化三大要素:技术 思路 执行力
- PS中的LAB颜色模式有什么作用?给人像磨皮就很实用!
- 潭州教育学python怎么样_在潭州教育学原画两个月的感受
- 当你的电脑C盘满了怎么办?这两种方法都能解决
- html5 canvas详解 pdf,html5 canvas教程 pdf
- 详解Tomcat配置及使用
- Qt的初学路程(一)电子时钟
热门文章
- AI文字如何填充渐变色
- Go爬虫学习笔记(三)
- 决战设计模式之巅01——设计模式导论
- 吃PHP小孩智力好,吃鱼对孩子智力有好处?不一定,这几类鱼娃吃了可能会生病...
- 七神器java游戏_七神器_手机游戏资料库_新浪游戏_新浪网
- web前端(JSON、AJAX、Tomcat、Http)
- 第二届中国SaaS产业峰会-深圳站——挖掘SaaS的深度价值
- 【PBL项目实战】户外智慧农场项目实战系列——3.云端可视化页面开发及设备数据源的配置与调试
- qq开心农场攻略、升级攻略_qq开心农场刷钱赚钱攻略
- 【考研经验】2018吉林大学软件工程专硕考研初试复试经验分享