即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

表连接+using

编程语言 zhou920786312 9℃ 0评论

内连接

  1. 等值连接


    简单说明就是:表之间用=连接


    1)select …from A,B where A.no=B.no


    2)select …from A inner join B on A.no=B.no where…


    这里写图片描述

  2. 不等值连接


    where 或者on 后面 列比较不是用=,而是用一下这些


    <>,>,<,>=,<=,like,in,between on,not 等等


    这里写图片描述

  3. 自然连接


    两表的同名列(一个或多个)进行连接


    select ….from A natural join B


    注意:上面sql语句实际上还默认包含a.同名列=b.同名列

这里写图片描述

using基于两表有同名列


select ….from A join B using(同名列)


注意:上面using(同名列)等价于a.同名列=b.同名列


这里写图片描述


外连接


用于检索一个表的所有记录和另外一个表的匹配行


关键字outer join,


+:外连接:要放缺少相应信息的那一边

这里写图片描述

  1. 左外连接


    select ….from A left [outer] join B on…


    左边的所有表纪录与右边表的纪录进行匹配,最后返回左边表所有记录+右边表匹配纪录的表数据。

步骤:两表先匹配已有的,在加上左边剩下未匹配的,右边没有匹配到的加null补充.


举例

这里写图片描述

这里写图片描述

  1. 右外连接


    select ….from A right[outer] join B on…


    右边的所有表纪录与左边表的纪录进行匹配,最后返回右边表所有记录+左边表匹配纪录的表数据。


    这里写图片描述
  2. 全连接


    select ….from A full[outer] join B on..


    这里写图片描述

右边的所有表纪录与左边所有表纪录进行匹配,最后返回右边表所有记录+左边表所有表纪录的表数据。

自连接(连接同一表的行)


交叉连接

转载请注明:CodingBlog » 表连接+using

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情