数据库|mysql教程
Left Join,Right Join
数据库-mysql教程
二手交易app源码,vscode 变量改名,ubuntu提升用户权限,tomcat spare,sqlite参数写法,服务器远程端口,dede幻灯片插件下载,jsp与前端框架,js 反爬虫,php包括,seo网站外链,如何建立网站后台程序,手机网页上下滑动,帝国cms制作模板教程,点击按钮锁定页面,数据库 人事管理系统,mfc 绘图程序lzw
文章收藏了关于MySQL Left Join,Right Join各种查询语句,下面有需要的同学可以参考一下下。
评论发帖h5源码,ubuntu下载哪个好,火星爬虫的视频,php 翻书,优化seo方式lzw
chrome 源码打包下载,ubuntu关闭启用网络,爬虫苏宁价格,比亚迪php,滨州seo公司lzw
在SQL标准中规划的(Join)联结大致分为下面四种:
1. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。
2. 外联结:分为外左联结和外右联结。
左联结A、B表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结,这里注意的是最后出来的记录集会包括表A的全部记录。
右联结A、B表的结果和左联结B、A的结果是一样的,也就是说:
执行后的结果是一样的。
3.全联结:将两个表中存在联结关系的字段的所有记录取出形成记录集的联结(这个不需要记忆,只要是查询中提到了的表的字段都会取出,无论是否符合联结条件,因此意义不大)。
4.无联结:不用解释了吧,就是没有使用联结功能呗,也有自联结的说法。
这里我有个比较简便的记忆方法,内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则保留其中部分。外左联结与外右联结的区别在于如果用A左联结B则A中所有记录都会保留在结果中,此时B中只有符合联结条件的记录,而右联结相反,这样也就不会混淆了。其实大家回忆高等教育出版社出版的《系统概论》书中讲到关系代数那章(就是将笛卡儿积和投影那章)的内容,相信不难理解这些联结功能的内涵。
MySQL支持Select和某些Update和Delete情况下的Join语法,具体语法上的细节有:
上面的用法摘自权威资料,不过大家看了是否有点晕呢?呵呵,应该问题主要还在于table_reference是什么,table_factor又是什么?这里的table_reference其实就是表的引用的意思,因为在MySQL看来,联结就是一种对表的引用,因此把需要联结的表定义为table_reference,同时在SQL Standard中也是如此看待的。而table_factor则是MySQL对这个引用的功能上的增强和扩充,使得引用的表可以是括号内的一系列表,如下面例子中的JOIN后面括号:
这个语句的执行结果和下面语句其实是一样的:
这两个例子不仅让我们了解了MySQL中table_factor和table_reference含义,同时能理解一点CROSS JOIN的用法,我要补充的是在MySQL现有版本中CROSS JOIN的作用和INNER JOIN是一样的(虽然在SQL Standard中是不一样的,然而在MySQL中他们的区别仅仅是INNER JOIN需要附加ON参数的语句,而CROSS JOIN不需要)。
如果觉得《MySQL Left Join Right Join语句详解》对你有帮助,请点赞、收藏,并留下你的观点哦!