`
zy19982004
  • 浏览: 654138 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:249789
社区版块
存档分类
最新评论

数据库学习一:left join & right join & inner join

阅读更多

一.内外连接

  1. 内连接:inner join。只显示各表之间与关联条件(on)相匹配的列。
  2. 外连接:
    1. left join。以左表为基础。显示左表所有 记录,不管是否与关联条件(on)相匹配;而右表只显示与关联条件相匹配的记录,不匹配的以null字符代替。如果右表多条数据关联到左表的一条数据,left join会查出多条。
    2. right join。以右表为基础。显示右表所有记录,不管是否与关联条件(on)相匹配;而左表只显示与关联条件相匹配的记录,不匹配的以null字符代替。
    3. full join。全连接。显示列表中的所有列,不匹配的以null字符代替。Mysql不支持full join,用left join union right代替。

               a表                                           b表

              a left join b 

              a right join b

              a full join b 

 

 

二. where 与 on

  1. on:关联条件。
  2. where:查询条件。

     a left join b where 

     a right join b where

 

 

三. where 与 inner join

     a inner join b

     a b where   

  1. WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。
  2. INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接。
  3. WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。
2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics