SQL 关键字 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN和ON

  1. inner join,在两张表进行连接查询时,只保留两张表中完全匹配的结果集。
  2. left join,在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
  3. right join,在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。
  4. full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行(即2和3的并集)。
  5. 在使用 join 时,on 和 where 条件的区别如下(以left join为例子):
  • on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录。
  • where 条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有 left join 的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
posted @ 2020-04-25 09:03  肥斯大只仔  阅读(276)  评论(0编辑  收藏  举报