sql - 哪个逻辑运算符将返回较小的数据集?
问题描述
选择以下所有将导致数据集小于未使用逻辑运算符的查询的子句。
- 其中价格 = 10 且库存 > 0;
- 其中价格 = 10 或价格 = 20;
- 没有价格 = 10;
- 价格为空;
正确答案是#1 和#4。我知道#3 是错误的,因为原始数据集可能没有价格为 10 的商品。在这种情况下,带有 #3 子句的查询将产生相同的数据集。
但为什么#2 是假的?
解决方案
问题措辞不佳。
2 是错误的,因为一个查询WHERE price=10 OR price=20
返回两个价格的记录,这可能比WHERE price=10
单独的记录更多。
但是也很容易将“不使用逻辑运算符”的要求解释为“根本没有 WHERE 子句”,这样会产生更多的记录。选项#4 鼓励这种解释,它也有效地删除了整个 WHERE 子句。
推荐阅读
- user-interface - 如何在颤动中制作类别和子类别按钮
- c# - 如何在 C# 中为棋盘游戏制作撤消功能?
- java - Android Studio:在 X 行中找不到可执行代码
- arrays - 具有 DateValue 的多条件数组
- android - Okhttp3 Requestbody create() 伴侣已弃用。令人困惑的文档
- python - Scrapy:两个 HTML 元素之间的文本选择器..?
- c++ - GLFW C++ 架构 x86_64 的未定义符号
- apache-nifi - 导入 Sqoop 列名问题
- docker - “/var/www/html”的目录索引被禁止 docker/nginx 403 错误
- javascript - 从 json 获取数据以填充数据表