SQL Inner/Left/Right Join的区别于总结

嗯,这里是简介,主题配置内可以修改,如留空则不显示

SQL Inner/Left/Right Join的区别于总结

在实习的时候遇到这样的问题,之前我一直没有用到join操作(用到类似表连接的操作)。现在对该问题系统学习了一下并总结。

首先我使用的是mysql的数据库来实验的。

创建学生表和sc表,并填充输入如下,注意其中数据的差别:

blob.png学生表                         blob.pngsc表


分别使用inner,left,right   join的操作查看结果,很明了。

inner join:

blob.png


left join:

blob.png


right join :

blob.png

上面的代码如下:

select * from student;
select * from sc;

-- inner join
SELECT t1.*,t2.*
FROM student t1
INNER JOIN sc t2
ON t1.id=t2.s_id;

-- left join 
SELECT t1.*,t2.*
FROM student t1
LEFT JOIN sc t2
ON t1.id=t2.s_id;

-- right join 
SELECT t1.*,t2.*
FROM student t1
RIGHT JOIN sc t2
ON t1.id=t2.s_id;


需要说明的是我之前一直使用的方法都是直接表进行连接的,其代码如下,其查询的本质还是join的操作,但是可能效率低一点。

SELECT t1.*,t2.*
FROM student t1 ,sc t2
where t1.id=t2.s_id;




发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Hello world. 豫ICP备16008819号-1.

Power by Z-BlogPHP  Theme by wzdaxue