有3种:

JOIN 按照功能大致分为如下三类:

CROSS JOIN (交叉连接)
INNER JOIN (内连接或等值连接)。
OUTER JOIN (外连接)

  

交叉连接CROSS JOIN

交叉连接也叫笛卡尔积连接。笛卡尔积是指在数学中,两个集合 X 和 Y 的笛卡尓积( Cartesian product ),
又称直积,表示为 X*Y ,第一个对象是 X 的成员而第二个对象是 Y 的所有可能有序对的其中一个成员。

隐式交叉连接

 SELECT * FROM  A, B

  

显式交叉连接

SELECT * FROM A CROSS JOIN B

  

内连接INNER JOIN

内连接也叫等值连接,内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。
隐式内连接

SELECT * FROM A,B WHERE A.id = B.id

  

显式内连接

SELECT * FROM A INNER JOIN B ON A.id = B.id

  

外连接

外联接可以是左向外联接、右向外联接或完整外部联接。也就是说外连接又分为:左外连接、右外连接、全外连接。外连接需要有主表或者保留表的概念

左外连接LEFT JOIN 或者 LEFT OUTER JOIN

SELECT * FROM A LEFT JOIN B ON A.id = B.id

  

右外连接:RIGHT JOIN 或者 RIGHT OUTER JOIN

SELECT * FROM A RIGHT JOIN B ON A.id = B.id

  

外连接总结:
通过业务需求,分析主从表
如果使用 LEFT JOIN ,则主表在它左边
如果使用 RIGHT JOIN ,则主表在它右边
查询结果以主表为主,从表记录匹配不到,则补 null

ok

最新文章

  1. iOS $299刀企业证书申请的过程以及细节补充
  2. WPF DatePicker默认显示当前日期
  3. bzoj 1637: [Usaco2007 Mar]Balanced Lineup
  4. Java 获取类名,函数名,行数
  5. Java好文统计( 引用 )
  6. ASP.NET的分页方法(二)
  7. N - Is It A Tree?(判断环)
  8. ps命令用法
  9. Java实现CORS跨域请求
  10. SQL中锁表语句简单理解(针对于一个表)
  11. 重构仿vue社区代码
  12. iOS开发--XMPPFramework--框架的导入(二)
  13. Python/ MySQL练习题(一)
  14. POJ 1015 Jury Compromise (算竞进阶习题)
  15. Linux中设置服务自启动的三种方式,ln -s 建立启动软连接
  16. 记录一次MyEclipse打开jsp文件出现Error的解决办法
  17. JAVA学习笔记系列2-Java程序的运行机制
  18. 容器中JVM获取真实的CPU核数
  19. get方式传值中文乱码
  20. 10.30 正睿停课训练 Day12

热门文章

  1. 数据结构之链表(LinkedList)(一)
  2. 一、ribbon如何集成在openfeign中使用
  3. JS权威指南读书笔记(二)
  4. Android笔记(三十四) Android中线程之间的通信(六)Handle中的post()方法详解
  5. Android笔记(二十六) Android中的广播——BroadcastReceiver
  6. 【DRF框架】序列化组件
  7. 【OF框架】在部署中使用 Windows身份认证
  8. grafana忘记登陆密码
  9. Codeforces #366 Div. 2 C. Thor (模拟
  10. Python获取爬虫数据, r.text 与 r.content 的区别