mysql--连接查询(内外连接)
连接查询又称多表查询,查询到的字段来自于多个表中的数据。
一、 连接查询的分类和语法
1.分类
按标准分:
92标准:只支持内连接
99标准:支持内连接和、外连接和全外连接
功能进行分类:
内连接:inner
等值连接
非等值连接
自连接
外连接:
左外连接left 【outer】
右外连接right【outer】
全外连接(mysql不支持) full【outer】
交叉连接cross
笛卡尔集:没有加约束条件。若表1有m行数据,表2有m2行数据,最终有m*m2行数据。
2.语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【having 筛选条件】
【order by 排序列表】
二、内连接(inner)
1.等值连接
语法:select 查询列表 from 表1 别名1 [inner join] 表2 别名 [on]/[where] 连接条件
特点:
①多表等值连接的结果为多表的交集部分;
②m个表的连接,至少需要m-1个连接条件
③各个表的先后顺序没有要求
④可以结合其他函数和字句,比如:排序、分组、筛选等
⑤可以用inner join on连接也可以使用from多个表
⑥inner join on 是sql99语法规范,提高了分离性、可读性。
2.非等值连接
3.自连接
查询出员工名和上级名
三、外连接
用于查询一个表中存在另一个表中不存在的数据
1.特点
①外连接的查询结果为主表中的所有数据,若从表中有和他匹配的,则显示匹配的数据;若没有与之匹配的数据,则显示null
②左外连接,left join 左边是主表;右外连接,right join 右边是主表
③左外和右外交换两个表的顺序,可以实现相同的查询结果
④全外连接=内连接+表1中有表2中没有的+表2中有表1中没有的
2.左外连接
3.右外连接
4.全连接
最新文章
- 重写jquery的ajax方法
- centos查看系统cpu个数、核心书、线程数
- js计时器 + asp 计时器
- C++ new(2)
- java 15 - 9 集合框架之 栈、队列、数组 和 链表
- HTML和JSON的数据交互-HTML模板
- VB 读取csv文件数据
- tomcat 服务器全解
- jq 图片裁剪
- 创建一个流(Stream)可以让Bitmap或Image保存到流里面(转)
- mongodb安装指南
- VS2013使用技巧汇总
- 201521123006 《java程序设计》 第10周学习总结
- PDO详解
- Java 链表常见考题总结
- 简易webpack 入门
- Java多线程之三volatile与等待通知机制示例
- ELK--filebeat命令行参数解释
- 最新2018年三月可用Windows10激活密钥
- 高性能JavaScript(高性能Ajax)
热门文章
- js中去掉字符中间空格和首尾空格
- chapter05_20180330
- Python2.7编程基础(博主推荐)
- 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch
- 3年,阅读量100万+, Github Star 15000+
- android 开发-Toast控件的实现
- ServiceStack.Redis 使用
- webpack.config.js====引入Jquery库文件
- Xcode Ghost
- personalWebsite_1:历史记录汇总