首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

NOT IN子查询中出现NULL值对结果的影响你注意到了吗

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 前言 开发人员写的SQL语句中经常会用到in,exists,not in,not exists 这类子查询,通常,含in、exists的子查询称为半连接(semijoin),含not in、 not exists的子查询被称之为反连接,经常会有技术人员来评论in 与exists 效率孰高孰低的问题,我在SQL优化工作中也经常对这类子查询做优化改写,比如半连接改为内连接,反连接改为外连接等,哪个效率高是要根据执行计划做出判断的,本文不是为了讨论效率问题,是要提醒一点:not in子查询的结果集含NULL值时,会导致整个语句结果集返回空,这可能造成与SQL语句书写初衷不符。

01

【数据库设计和SQL基础语法】--查询数据--过滤

运算符说明示例等于 (=)用于检索列中与指定值相等的行。示例:SELECT * FROM employees WHERE department_id = 1;不等于 (<>, !=)用于检索列中与指定值不相等的行。示例:SELECT * FROM products WHERE category <> 'Electronics';大于 (>)用于检索列中大于指定值的行。示例:SELECT * FROM orders WHERE total_amount > 1000;小于 (<)用于检索列中小于指定值的行。示例:SELECT * FROM students WHERE age < 18;大于等于 (>=)用于检索列中大于或等于指定值的行。示例:SELECT * FROM employees WHERE salary >= 50000;小于等于 (<=)用于检索列中小于或等于指定值的行。示例:SELECT * FROM products WHERE price <= 50;这些比较运算符可以在WHERE子句中灵活使用,帮助过滤出满足特定条件的数据。在实际应用中,可以根据需要组合多个条件来实现更复杂的数据过滤。

01
领券