专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SQL参数放在where前后的区别

本博客记录一个细节,在使用sql left join时候,参数放在left join后面当条件,还是放在where后的区别
给出两条SQL:
tt.book_type = ‘TIPS_TYPE’,放在left join后面当条件

select tc.seq,
            tc.tips_flag,
            tc.is_valid,
            tc.create_time,
            tt.book_name  tipsType 
        from t_tips_config tc 
        left join t_book tt 
        on tt.book_code = tc.tips_flag
        and tt.book_type = 'TIPS_TYPE'

tt.book_type = ‘TIPS_TYPE’,放在where后面当条件

select tc.seq,
            tc.tips_flag,
            tc.is_valid,
            tc.create_time,
            tt.book_name  tipsType 
        from t_tips_config tc 
        left join t_book tt 
        on tt.book_code = tc.tips_flag
        where tt.book_type = 'TIPS_TYPE'

这两种情况意义完全不一样的,前者如果t_book没有book_type = ‘TIPS_TYPE’的数据,整条SQL还是可以查到数据的,只是t_book的参数没查到而已,后者,一旦出现book_type = ‘TIPS_TYPE’没有数据,那就整条SQL都查不到数据,这样是不合理的,因为业务需要查出t_tips_config的表,不然就不会用左连接了

这是一个小细节,记录一下

文章永久链接:https://tech.souyunku.com/25312

未经允许不得转载:搜云库技术团队 » SQL参数放在where前后的区别

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们