Mysql连表查询(内连接、外连接)
来源:互联网 发布:pump it相似 编辑:程序博客网 时间:2024/05/28 15:32
创建用于测试的表格并插入数据
-- 创建两张表格并分别插入数据CREATE TABLE IF NOT EXISTS left_table(id INT auto_increment,age INT,NAME VARCHAR(20),PRIMARY KEY(id))ENGINE=INNODB DEFAULT CHARSET=utf8 auto_increment=1;INSERT INTO left_table(`age`,`NAME`)VALUES(25,'小明');INSERT INTO left_table(`age`,`NAME`)VALUES(15,'小红');INSERT INTO left_table(`age`,`NAME`)VALUES(35,'小吕');INSERT INTO left_table(`age`,`NAME`)VALUES(45,'大绿');CREATE TABLE IF NOT EXISTS right_table(id INT PRIMARY KEY auto_increment,age INT,name VARCHAR(20))ENGINE=INNODB default charset=utf8 auto_increment=1;INSERT INTO right_table(`age`,`NAME`)VALUES(29,'高兴');INSERT INTO right_table(`age`,`NAME`)VALUES(25,'快乐');INSERT INTO right_table(`age`,`NAME`)VALUES(39,'开心');INSERT INTO right_table(`age`,`NAME`)VALUES(45,'喜悦');
左连接(左外连接)
左连接也叫左外连接
语法如下
SELECT L.*,R.*FROM LEFT_TABLE L(WHERE ...)LEFT (OUTER) JOINRIGHT_TABLE R(WHERE ...)ON ...
对示例量表进行操作
SELECT L.*,r.*FROM left_table LLEFT OUTER JOINright_table ron L.age=r.age;
结果
可知:
- 左连接以左边的表格为基准
- 当右边的表格满足on条件时,加入;不满足的补空值null。
右连接(右外连接)
语法如下
SELECT L.*,R.*FROM LEFT_TABLE L(WHERE ...)RIGHT (OUTER) JOINRIGHT_TABLE R(WHERE ...)ON ...
示例
SELECT L.*,r.*FROM left_table LRIGHT JOINright_table ron L.age=r.age;
结果
- 右连接以右边的表格为基准
- 当左边的表格满足on条件时,加入;不满足的补空值null。
内连接
语法如下
SELECT L.*,R.*FROM LEFT_TABLE L(WHERE ...)[INNER] JOINRIGHT_TABLE R(WHERE ...)ON ...
示例
SELECT L.*,r.*FROM left_table L JOINright_table ron L.age=r.age;
结果
- 去两者相同的结果
从结果看来和 where 语句完全一样
SELECT L.*,r.*FROM left_table L ,right_table rWHERE L.age=r.age;
MySQL没有全连接
如果想要实现全连接的功能,可采用
左连接 union 右连接
此处是union,关于union与union all的区别,参考:http://blog.csdn.net/qq_36743482/article/details/75021848
SELECT L.*,r.*FROM left_table L left JOINright_table ron L.age=r.ageUNIONSELECT L.*,r.*FROM left_table L RIGHT JOINright_table ron L.age=r.age
阅读全文
0 0
- Mysql连表查询(内连接、外连接)
- 连接查询(内连,外连,交叉)
- mysql连接查询 内连接查询 外连接查询
- MySQL的多表查询(交叉连接,内连接,外连接)
- SQL连表查询:内连接、左联接、右连接、全连接、交叉连接讲解
- MySQL-99语法:外连接与内连接-(左内连接多表和查询)
- MySQL 内连接 左连接 右连接 外连接(union组合查询)
- MySQL连接查询 内连接和外连接的区别
- Mysql中的关联查询(内连接,外连接,自连接)
- MySQL学习笔记(二):内连接和外连接实现多表查询
- 联表查询----内连接、外连接
- 【Oracle】多表连接查询——内连接、左连接、右连接、全连接(外连接)、完全连接
- mysql 之 多表查询之 左外连接 内连接 右外连接
- MySQL中多表连接查询(内连接、外连接)的使用
- Mysql表连接:外连接(左连接右连接)与内连接
- 多表连接查询(内,外,交叉连接)
- 多表连接查询(内,外,交叉连接)
- 4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)
- GalaxyOJ-745 (LCA)
- Runtime的使用4 【获取属性和方法(包括私有)】
- Python 爬虫(以赛马数据为例)之使用BeautifulSoup进行Html解析
- JAVA-对LIST的bean中的某属性排序
- Tomcat源码分析环境搭建
- Mysql连表查询(内连接、外连接)
- iOS--CBCentralManager实现
- 机器学习(三)- normal equation
- markdown_篇3_背景色和表格
- centos7 mysql数据库安装和配置
- 多表联查加载zTree树结构
- 动态代理源码解析
- 杭电problem1003-动态规划
- 读取手机短信