Left/right join 和inner join 区别

简介:
举个例子: 
假设a表和b表的数据 是这样的。 
a b 
id name  id stock  
1  a 1 15 
2 b 2 50 
3 c   

select * from a inner join b on a.id=b.id 
这个语法 是连接查询中的内连接,它产生的结果是 
两个表相匹配的记录出现在结果列表中。 
根据上面的表,出现的结果是这样的 
a.id name b.id stock 
1   a 1 15 
2 b 2 50 
---------------------------- 
select * from a,b where a.id=b.id 
这个语法是内连接的另外一种写法,其执行结果与inner join 一样 

-------------------------------- 

select * from a left/right join b on a.id=b.id 
这个是外连接语法中的左外连接或右外连接 
如果是左外连接的话,它将显示a表的所有记录, 
select a.*,b.* from a left join b on a.id=b.id 
查询的结果是这样的: 
a.id name b.id stock 
1   a 1 15 
2 b 2 50 
3 c null null  
-------------------------------------------- 
如果是右外连接的话,它将显示b表的所有记录, 
select a.*,b.* from a right join b on a.id=b.id 
查询的结果是这样的: 
a.id name b.id stock 
1   a 1 15 
2 b 2 50 
相关文章
|
7天前
|
SQL
LEFT JOIN
【11月更文挑战第07天】
11 3
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
41 2
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
45 1
|
关系型数据库 MySQL
关于MySQL中的LEFT JOIN和LEFT OUTER JOIN的区别
LEFT JOIN是LEFT OUTER JOIN的简写版;
208 0
Inner Join与Left Join
Inner Join与Left Join
116 0
|
关系型数据库 MySQL
inner join 、left join、right join,优先使用inner join
inner join 、left join、right join,优先使用inner join
left join ... is null 的实际应用
left join ... is null 的实际应用
left join ... is null 的实际应用
|
关系型数据库 MySQL
八、inner join 、left join、right join,优先使用inner join
八、inner join 、left join、right join,优先使用inner join
441 0
|
SQL 数据库
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
136 0
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
|
SQL 关系型数据库 MySQL
Join,left join,right join(1)--连接原理(三十九)
Join,left join,right join(1)--连接原理(三十九)