推荐:解析:内联,左外联,右外联,全连接,交叉连接的区别

本篇文章是对内联,左外联,右外联,全连接,交叉连接的区别进行了详细的分析介绍,需要的朋友参考下 连接分为:内连接、外连接、交叉连接 一、内连接最常用 定义: 仅将两个表中满足连接条件的行组合起来作为结果集。 在内连接中,只有在两个表中匹配的行才能在结果集中出

1、内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符)。包括相等联接和自然联接。

内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。

2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。

在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:

1)LEFT  JOIN或LEFT OUTER JOIN

左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN

右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

3)FULL  JOIN 或 FULL OUTER JOIN

完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

3、交叉联接交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

FROM 子句中的表或视图可通过内联接或完整外部联接按任意顺序指定;但是,用左或右向外联接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外联接排列表的更多信息,请参见使用外联接。

例子:

-------------------------------------------------

a表     id   name     b表     id   job   parent_id

1   张3                   1     23     1

2   李四                 2     34     2

3   王武                 3     34     4

a.id同parent_id   存在关系

--------------------------------------------------

1) 内连接

select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id

结果是

1   张3                   1     23     1

2   李四                  2     34     2

2)左连接

select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id

结果是

1   张3                   1     23     1

2   李四                  2     34     2

3   王武                  null

3) 右连接

select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id

结果是

1   张3                   1     23     1

2   李四                  2     34     2

null                       3     34     4

4) 完全连接

select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id

结果是

1   张3                  1     23     1

2   李四                 2     34     2

null                   3     34     4

3   王武                 null

--------------------------------------------------------------------------------------------一、交叉连接(CROSS JOIN)交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积。

例如:下面的语句1和语句2的结果是相同的。

语句1:隐式的交叉连接,没有CROSS JOIN。SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAME

FROM ORDERS O , CUSTOMERS C

WHERE O.ID=1;

mysql 左连接 理解_深入理解SQL的四种连接-左外连接、右外相关推荐

  1. mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  2. mysql 左外连接原理_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  3. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  4. mysql 交叉连接的用法_深入理解MySQL的外连接、内连接、交叉连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  5. sql的四种连接 用mysql的语句写_170221、浅谈mysql的SQL的四种连接

    例子: ------------------------------------------------- a表     id   name     b表     id   job   parent_ ...

  6. 详解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  7. 你不知道的 ,MySQL中的七种SQL JOINS的实现,满外连接

    七种SQL JOINS的实现,满外连接 每博一文案 英国作家摩姆说过,我们每个人在世界上都是孤独的,因此 我们只能孤独地行走,尽管身体相互依傍,却并不在一起. 既不了解别的人,也不能为别人所了解. 当 ...

  8. Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+)

    Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+) 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大 ...

  9. c mysql连接池_在LINUX下用C/C++写了一个连接池(访问MYSQL)的类

    一.头文件[存为:connPool.h] #ifndef __CONNECTION_POOL_H__ #define __CONNECTION_POOL_H__ #include "mute ...

最新文章

  1. play store显示“从服务器检索信息时出错。DF-DFERH-01”问题解决
  2. 记录一下我使用的vim的配置文件
  3. 8天玩转并行开发——第八天 用VS性能向导解剖你的程序
  4. Top-push Video-based Person Re-identification
  5. Spring的常用注解,SpringMVC常用注解
  6. 挑个很吉利的日子,开通我的博客!
  7. 【渝粤题库】广东开放大学 Java高级编程技术 形成性考核
  8. java返回特定下标元素_java基础--输出数组中指定元素的下标
  9. 基类成员函数和派生类成员函数不构成重载
  10. Python之路(第十六篇)xml模块、datetime模块
  11. 新风系统风速推荐表_实验室通风系统的设计和应用
  12. Hexo博客开发之——theme主题备份上传失败
  13. BP算法(神经网络基础+BP算法推导+BP算法举例+java代码实现+Python代码实现+局限性)
  14. 第八章 Python之常用模块
  15. 虚拟机上键盘右边的数字小键盘为什么不能使用
  16. 平头哥CH2601开发环境(CDK)搭建
  17. ps计算机设置,做着ps电脑卡了怎么办 试试设置这四项
  18. xp系统显示无打印机服务器,Xp系统显示“Windows无法打开添加打印机”的处理方法...
  19. ubuntu安装企业微信
  20. 婴儿认知的血流动力学研究

热门文章

  1. 阿里后台开发不知名部门总结
  2. FITC/CY3/CY5-PEG-DPG/DPPS/DMG /C16, palmitic acid
  3. hadoop源码中实现权重0.75(Volum选择中的算法)
  4. 年轻的开发者,请善待你自己
  5. 【Android开源控件】SmartRefreshLayout实现下拉刷新,上划加载
  6. java美容美发项目下载_汉之源美容美发管理系统
  7. windows计划任务
  8. Android中的蓝牙技术
  9. spring开发_Annotation_AOP_Before增强处理
  10. realsense 选型大对比D455 D435i D415 T265 3D硬件对比