MySQL内连接、左连接、右连接是什么,他们的差别,以及性能比较

基本定义:

left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
左表不加限制,全查;右表查出没有与其对应的数据用null去填补。
select A.,B. from A
left outer join B on(A.a1=B.a2)
  right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
也就是说右表不加限制,右表内容全查,左边没有与右边匹配的就拿空值去填。
select A.,B. from A
right outer join B on(A.a1=B.a2)
  inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
也就是说只有两张表都匹配的行才会被显示。
SELECT * FROM a, b where a.a1=b.a2,(内连接也称自然连接)
  full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。
两张表都没有限制,直接全部查出来,互相之间谁没有谁就拿null去填。
select * from book as a full outer join stu as b on a.sutid = b.stuid
交叉连接
select * from book as a cross join stu as b order by a.id
交叉连接产生的数据=A表数据*B表数据

**

性能比较

1、左连接>内连接
左连接在数据库执行时,速度大于内连接,并且内连接被称作是左连接的下一步
因为做左连接时,左表是直接去查的,
做内连接时,需要对数据进行过滤。
目前就掌握这么多,后续希望大佬补充。

你可能感兴趣的:(MySQL内连接、左连接、右连接是什么,他们的差别,以及性能比较)