sql - 使用 SELECT * FROM X WHERE Y is not NULL 替换查询

标签 sql sql-server

此查询试图实现什么目的?

SELECT * FROM X WHERE (X.Y in (select Y from X))

据我所知,它给我带来了与

相同的结果
SELECT * FROM X WHERE Y is not NULL

第一个查询还有更多内容吗?对于大型数据集,第一个查询实际上非常慢,因此我想知道是否可以用第二个查询替换它。

最佳答案

你是对的,这两个查询是等价的。

目前还不清楚为什么第一个查询是这样写的。也许曾经看起来不一样。

事实上,您的第二个查询更好,因为它更容易阅读和理解(甚至如您所说更快)。

关于sql - 使用 SELECT * FROM X WHERE Y is not NULL 替换查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62989398/

相关文章:

mysql查询: Select with joining first or default

php - 在 CodeIgniter 中加入查询

Mysql 查询其中一个数据值与表的 2 列匹配

sql - 为什么 SELECT * WHERE id=1 ORDERBY at LIMIT 1 不像简单的二进制搜索那样在 O(log n) 中执行?

mysql - 如何解决这两个查询?

sql - 在什么时候应该为临时表放弃表变量?

sql-server - 将 XML 输出转换为 varchar

sql-server - 清理特定日期的旧记录 : How to select the old record?

sql - "Simple"SQL查询

sql - 更改行的排序顺序后如何重新排列 "sort order"列