无他,唯手熟尔!

sql 中join的用法

sql中一般在操作两个或以上的表会经常用到join关键字经常用到的有一下几种join类型。可结合集合的概念进行理解

  • INNER JOIN: 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

inner join:内连接的一种,只连接匹配的行

select column_name(s)
from table 1
INNER JOIN table 2
ON
table 1.column_name=table 2.column_name

left join: 返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替 。

select column_name(s)
from table 1
LEFT JOIN table 2
ON table 1.column_name=table 2.column_name

right join: 返回右表的全部行和左表满足ON条件的行,如果右表的行在左表中没有匹配,那么这一行左表中对应数据用NULL代替。相当于left join+right join

select column_name(s)
from table 1
RIGHT JOIN table 2
ON table 1.column_name=table 2.column_name

full join: 会从左表 和右表 那里返回所有的行。如果其中一个表的数据行在另一个表中没有匹配的行,那么对面的数据用NULL代替

select column_name(s)
from table 1
FULL OUTER JOIN table 2
ON table 1.column_name=table 2.column_name

一般用left right join这些关键字外部关联另一张表的时候,相比于用in关键字做查找,大批量数据前者效率可能更好。读者可以试验一下

赞(0) 打赏
未经允许不得转载:沙の志 » sql 中join的用法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

沙の志