数据库外连接和内连接详解
SQL语句中有关的连接主要有: 外连接、内链接、全连接。
内连接:
INNER JOIN
内连接为 两个表中必须都同时满足条件
内连接,即最常见的等值连接
自然连接和等值连接的区别: 等值连接会将等值条件列出两次,而自然连接只会保留一个表中的等值条件,自然连接不用指明连接条件。
外连接:
连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。
左外连接:
左边表数据行全部保留,右边表保留符合连接条件的行
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
右外连接:
右边表数据行全部保留,左边表保留符合连接条件的行
RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
全外连接:
左外连接 union 右外连接
右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
全外连接 full outer join 或者 full join
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
全外连接的等价写法,对同一表先做左连接,然后右连接
交叉连接:cross join :结果等于两个表行数的乘积。
select * from table1 , table2 等价于 select * from table1 cross join table2.
转载于:https://www.cnblogs.com/yongpan666/p/3657993.html
数据库外连接和内连接详解相关推荐
- mysql外键必须是主键吗_mysql数据库外键、主键详解
一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号 ...
- 详解SQL的四种连接-左外连接、右外连接、内连接、全连接
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...
- mysql左连接和内连接区别_MYSQL 左连接右连接和内连接的详解及区别
MYSQL 左连接右连接和内连接的区别,这里就对这些概念经过一个实例,讲解清楚. 代码如下: drop table table1; CREATE TABLE `andrew`.`table1` ( ` ...
- mysql 嵌套查询性能_MySQL数据库之嵌套查询与连接查询的性能详解
本文主要向大家介绍了MySQL数据库之嵌套查询与连接查询的性能详解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 嵌套查询与连接查询的性能:连接查询一般较快:子查询很难被优化. ...
- mysql数据库多表查询(内连接,外连接,自连接,子查询及案例分析)
mysql数据库多表查询 之前接触的项目或者自己涉及的部分对于多表查询的使用都比较的少,常常是自己更具案例进行学习,最近见到的比较的多,所以今天就好好的总结一下,为下一步学习做准备! 1.多表查询关系 ...
- 数据库表连接总结:等值连接, 自然连接,左外连接,右外连接,内连接,全外连接;
[1]等值连接 1)连接:凡是查询涉及到两个以上的表,就需要将表连接: 2)就是用where子句做的连接查询:连接查询的列名可以不同: [2]自然连接: select * from a_tbl na ...
- 关于Tomcat与MySQL连接池问题的详解
转载自 关于Tomcat与MySQL连接池问题的详解 研究了一天,终于有所收获,希望对大家有所帮助.首先请大家注意:这里尤其讨论Tomcat5.5版本中遇到的问题,为什么尤其单对这个版本,我一会儿 ...
- basicdatasourcefactory mysql_Java基础-DBCP连接池(BasicDataSource类)详解
Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中"获得连接"或"释放资源 ...
- MyBaties中多表查询及数据库左连接、右连接、内连接、全连接笔记
本文最终目的是介绍MyBaties中多表查询方法,最难的就是多对多的查询方式,在此之前咱们先一起复习一下数据库的两表间的连接方式. 数据库表连接方式 数据库两个表之间有四种连接方式,其中包括左连接.右 ...
最新文章
- 系列:iOS开发-C语言基础
- 如何在基于Bytom开发过程中集成IPFS
- spark代码中添加logger_JAVA代码如何设置SPARK的日志打印级别
- Halcon学习笔记之OCR系列-喷码字体识别
- 制作卡通人物的3种简单方法
- Shiro安全框架的原理及实现步骤
- Vue看板娘教程详细版
- Excel代替matplotlib画散点图 拟合曲线
- python精灵什么意思_图像和精灵有什么区别?
- FPGA系列7——Xilinx复数乘法器(Complex Multiplier v6.0)使用小结
- Iphone6/6s刷机常见问题
- 【附源码】计算机毕业设计JAVA销售人员绩效管理系统
- 援引Yaphets的话:我又不淡定了
- 你想要的宏基因组-微生物组知识全在这(1908)
- 通过Dockerfile创建docker镜像
- Android开发从零开始
- 2023最新智简魔方快云模板源码+已免授权
- Java对接阿里云短信平台(快速上手)
- 拉勾教育java高薪训练营课程怎么样_[拉勾教育-大前端高薪训练营]这可能是迄今为止对大前端最好的解释...
- 支付宝“锦鲤”原来是这么值钱,难怪“信小呆”说下半生不用工作了!