开发者社区> 问答> 正文

sql当中on和where有区别吗 ?

sql当中on和where有区别吗 ?

展开
收起
游客ahv54x37wvm7u 2021-12-12 20:45:16 852 0
1 条回答
写回答
取消 提交回答
  • 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表

    以 LEFT JOIN 为例:在使用 LEFT JOIN 时,ON 和 WHERE 过滤条件的区别如下:

    on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录

    where 条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有 left join 的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

    2021-12-12 20:45:30
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载