left join和right join和inner join的区别
时间: 2023-10-17 18:28:01 浏览: 86
数据库Left join , Right Join, Inner Join 的相关内容,非常实用
在SQL中,left join、right join和inner join都是用来连接两个或多个表的查询语句。它们之间的区别如下:
1. Inner Join:内连接,只返回两个表中共同匹配的行,即只返回两个表中都存在的行。
2. Left Join:左连接,返回左表中的所有行,以及右表中与左表匹配的行。如果右表中没有与左表匹配的行,则返回NULL。
3. Right Join:右连接,返回右表中的所有行,以及左表中与右表匹配的行。如果左表中没有与右表匹配的行,则返回NULL。
举个例子,如果有两个表A和B,它们的结构如下:
表A:id, name, age
表B:id, address, phone
1. Inner Join:SELECT * FROM A INNER JOIN B ON A.id = B.id,返回A和B表中id相等的所有行。
2. Left Join:SELECT * FROM A LEFT JOIN B ON A.id = B.id,返回A表中的所有行,以及B表中与A表id匹配的行,如果B中没有匹配的行,则返回NULL。
3. Right Join:SELECT * FROM A RIGHT JOIN B ON A.id = B.id,返回B表中的所有行,以及A表中与B表id匹配的行,如果A中没有匹配的行,则返回NULL。
需要注意的是,left join和right join只是在inner join的基础上增加了返回行的范围,因此它们的本质都是inner join。
阅读全文