嵌套查询执行的次数

2023-12-04

这个嵌套子查询会执行多少次?

SELECT CID, CNAME 
  FROM CUSTOMER
 WHERE EXISTS ( SELECT CID 
                  FROM RENTALS 
                 WHERE CUSTOMER.CID = RENTALS.CID 
                   AND PICKUP = 'CARY' )

这是一个理论问题,即在我的书中找到的。提供的答案是6,但我不明白为什么会这样。


好吧,我觉得这本书本身就有问题。我会读完这本书,也许稍后再问问题。


没有正确的理论的回答这个问题。智能查询优化器可以将查询转换为 JOIN:

SELECT CID, CNAME
FROM Customer
LEFT JOIN (SELECT DISTINCT CID FROM Rentals WHERE PICKUP = 'CARY') as Rentals
ON Customer.CID = Rentals.CID
WHERE Rentals.CID IS NOT NULL

现在子查询只执行一次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套查询执行的次数 的相关文章

  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 跨多个表进行搜索,并在结果行中显示表名称

    如何构建 SQL 语句以跨多个平面不相关的表运行 并使用选择结果和结果来自的表的名称显示结果 这种情况是这样的 我有几个表 每个表都有相同的列名 这是我从外部各方收到的数据 并将其存储在不同的表中 相同的表看起来像 Table 1 pid
  • 为什么 SqlClient 在传递 SqlXml 时使用不必要的 XML 转换?

    我有一个关于从 C 代码将 xml 数据类型传递给查询的问题 首先 这是 SQL Server 上的一个表 CREATE TABLE dbo XmlTable id int IDENTITY 1 1 NOT NULL dat xml NOT
  • 初级SQL部分:避免重复表达式

    我对 SQL 完全陌生 但我们可以说StackExchange 数据浏览器 https data stackexchange com 我只想按信誉列出前 15 位用户 我写了这样的内容 SELECT TOP 15 DisplayName I
  • SELECT 语句会受到 SQL 注入攻击吗?

    实际上有2个问题 我知道我必须尽可能多地使用存储过程 但我想知道以下内容 A 我可以从 SELECT 语句 例如 Select from MyTable 获得 SQL 注入攻击吗 B 另外 当我在 ASP NET 中使用 SQLDataSo
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • 如何在NiFi中映射流文件中的列数据?

    我有 csv 文件 其结构如下 Alfreds Centro Ernst Island Bacchus Germany Mexico Austria UK Canada 01 02 03 04 05 现在我必须将这些数据移入数据库 如下所示
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想
  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 在单个 select 语句中多次有条件地求和同一列?

    我有一个表 显示每个月在给定位置的各种类型的部署的员工部署情况 ID Location ID Date NumEmployees DeploymentType ID 例如 一些记录可能是 1 L1 12 2010 7 1 Permanent
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam

随机推荐

  • 如何在asp中使用数据库创建多语言网站

    如何在数据库存储翻译的aspx中创建多语言网站 我搜索了很多文章 但没有唯一的解决方案 有人有好主意或知道任何好文章吗 您将需要创建自己的数据库资源提供程序 参见这篇文章 http msdn microsoft com en us libr
  • 为什么我不能在 Go 中用一种类型的切片替换另一种类型?

    我正在尝试了解 Go 的类型转换规则 假设我们有这些接口 type woofer interface woof type runner interface run type woofRunner interface woofer runne
  • 如何获取自动刷新的日期?

    我正在尝试获取页面上刷新的日期 这样我就不必每天手动刷新它 我有这段代码 但它似乎不起作用 日期会显示 但日期更改时不会更新 作为参考 这是在 BrightSign 显示屏上使用的 谁能告诉我我做错了什么 我是一个 JavaScript 初
  • 从 Servlet 访问 SSL 私钥

    我在本地运行 Apache Tomcat 并使用 OpenSSL 安装了自签名证书 我还有一个正在运行的 servlet 我想做的是 Servlet 接收 POST 参数 并将回显使用服务器的 PrivateKey 签名的参数 也就是说 将
  • 运行 playbook 后访问 ansible playbook 结果

    我正在使用 ansible 脚本运行ansible pull在我看不到的远程计算机 客户端 上 我想确保 ansible playbook 成功执行然后应该发送摘要 ansible playbook 如果未成功执行 应发送失败的摘要 启用a
  • 来自客户端的 Instagram API

    我正在尝试从客户端调用 Instagram API 端点 我只能使用 JSONP 访问基于 GET 的端点 这Instagram 推荐 对于那些需要 POST 或 DELETE 的人 似乎没有启用 CORS 因此这些类型的 ajax 调用会
  • 如何等待齐射响应完成其在intentservice内的工作?

    与intentservice合作 在后台使用 Google Volley 获取7个Rss Feed链接的数据 并使用ResultReceiver获取结果 但我无法配置如何等待volley响应来完成触发标志的工作ResultReceiver显
  • 黑白 imageNamed 和 imageWithContentsOfFile 的区别 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 黑白有什么区别图像命名 and 带文件内容的图像在 Objective C 中 图片名称 imageNamed 缓存的是您的图像 您失去了对内存的控制 不能保证释放对象会真正释放
  • 通过构造函数参数 0 表达的不满足的依赖关系:没有类型的合格 bean - Spring boot

    我正在使用 Spring boot 来实现 Java 应用程序 其中一个控制器称为HealthCheckerController 定义在application包裹 HealthCheckerController java package a
  • 不可变类型的 ID

    我对可变对象和不可变对象之间的区别有点困惑 我尝试了以下代码块来查找对象的 id tuple1 Object1 Object2 print id tuple1 tuple2 Object1 Object2 print id tuple2 l
  • SQL 数据库项目:根据构建配置构建不同的脚本

    我想解决的问题是根据构建配置构建不同的脚本 假设我们有两个 SQL Server 实例 连接链接服务器的企业版 用于离线开发和单元测试的 LocalDb 版本 当 LocalDB 用本地表替换这些视图时 企业版具有链接服务器的视图 这些链接
  • Three.js:纹理全黑

    我有一个简单的盒子几何形状 我试图用纹理来装饰它 然而 我的盒子根本不显示 或者可能是 100 黑色 当前的这个问题是从这个问题 我已经更新了代码以反映给出的答案gaitat关于原来的问题 我写过另一个简单的测试站点来演示这个新问题 这是该
  • 将“Kendo.Mvc.UI.DataSourceRequest”类型的对象从 jquery 传递到 Mvc Action

    客观的 我想传递一个类型的对象Kendo Mvc UI DataSourceRequest到 Mvc 操作 以便我可以根据应用的排序和过滤从数据库获取结果 问题 障碍 当对象到达操作时 它会变为 null 我的控制器操作 public Ac
  • 如何上传多个文件到BlobStore?

    我正在尝试将表单中的多个文件上传到 BlobStore Form
  • 为 IE 包含 es6-promise 的优雅方式

    Since Promise is 不支持在所有 IE 版本中 我想让 IE 用户下载 HTML 格式的 pollyfill 然而 不支持条件注释在 IE 10 和 11 中 所以上面的代码在 IE 10 和 11 中不起作用 然后 微软提供
  • 如果颁发新的刷新令牌,旧的刷新令牌仍然有效吗?

    我的应用程序使用 Google 刷新令牌 从 Google 获取 access token 我在这里有两个问题 我知道 Google 刷新令牌 6 个月内不会过期 请参阅此处的文档 说我有一个刷新令牌refresh token old1 月
  • 使用后台线程不断从串行端口读取数据

    由于串行端口通信是异步的 我在涉及与 RS 232 设备通信的项目的早期就发现 我必须有一个后台线程不断读取端口接收的数据 现在 我使用 IronPython NET 4 0 因此我可以访问 NET 中内置的灵活 SerialPort 类
  • 在我的例子中,Mockito 验证函数被调用一次

    我在用Mockito编写我的测试用例 我有一个简单的类 其中包含一个函数countPerson boolean 我有兴趣测试 public class School School is a singleton class public vo
  • 使用 Inno Setup 在安装过程中删除和取消注册 DLL 文件

    In my Files 第 I 节有以下内容 Database password decryption for PTS importing Source PTSTools PTSTools bin x86 Release PTSTools
  • 嵌套查询执行的次数

    这个嵌套子查询会执行多少次 SELECT CID CNAME FROM CUSTOMER WHERE EXISTS SELECT CID FROM RENTALS WHERE CUSTOMER CID RENTALS CID AND PIC