使用join优化子查询

1.数据准备

select * from student;

select * from user;

2.要求:查询出student表中所有人员信息及其在user表中的nickname

①使用子查询

select a.*,(select b.nickname from user b where a.`name` = b.`name`) as nickname from student a;

子查询的方式中,针对student表的每条记录都会对user表进行一次查询,需要查询15次,效率比较低。

②使用join优化查询

select a.*,b.nickname from student a left join user b on a.`name` = b.`name`;

3.总结

在数据量相对较大的情况,推荐使用join优化子查询,避免子表的全表查询。

发布了16 篇原创文章 · 获赞 13 · 访问量 3036

猜你喜欢

转载自blog.csdn.net/qq_34399639/article/details/104646842