slq语句,当一个查询,内连接,左连接,右连接都可以用,优先用哪个查询?

mysql语句,当一个查询,内连接,左连接,右连接都可以用,优先用哪个查询?

每种连接得到的结果集是不一样的,具体看业务需求。从性能上来说,能内连最好,左右连接是相对的,性能差点

还是要看你关联后需要的数据,内连接,左连接,右连接性能相差不会特别大

img

这还是看你的需求吧
内连接取的是共有的值
左右连接都是以一边为主表,以左连接为例
取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。
性能来说,内连接当然是最快的。
但在左右连接的时候,一般会把小表作为主表去join大表,这样可以提升性能

主要取决于需求本身,内连接相对较好,但是项目中一般存在1对多关系,查询列表数据(一条数据包含多的一方表的数量)如果多的一方没有数据,内连接可能查询不到数据,所以在项目中主要还是看逻辑本身,一般会使用左链接

做了一个简单的比较,结论:

  1. 优先使用内连接,查询的行数更少。
  2. 左联与右联取决于哪个驱动表,小表驱动大表效率更好(通常优化器会自动优化)效率上基本一致。

img