当前位置:数码通 > 评测

SQL中如何使用SQL子查询?分享一下使用方法吧!

来源于 数码通 2023-10-03 10:39

先决条件

要遵循并完全理解本教程,您将需要以下内容:

  • 圆弧类型
  • SQL基础知识

什么是子查询?

子查询是嵌套在另一个 SQL 查询中的 SQL 查询。它们帮助查询为 WHERE 子句创建条件来过滤行并对其执行操作。子查询可以使用 SELECT、INSERT、UPDATE 和 DELETE 语句。

WHERE子句子查询示例

我们想要获取数据库中交易金额大于1000元的用户。对于我们的示例,我们将有两个表:用户和事务,存储用户和事务信息。

选择* 来自用户 身份证在哪里 (选择用户 ID 来自交易 WHERE amount > 1000);

子查询的优点

  • 与连接相比,子查询通过将子查询构建为独立的部分来提高查询的可读性。
  • 易于理解和维护子查询。
  • 子查询可以取代复杂的联接和并集。

子查询的缺点

  • 子查询不能在同一条SQL语句中修改表并从同一个表中进行选择。
  • 子查询是一项昂贵的任务,因此使用连接操作会更快。

运行子查询练习

我们将探索一些使用 Arctype 的示例,其中我们将演示子查询并了解它们如何在应用程序中构建和使用。

我们需要创建一个将在本教程中使用的数据库。为了方便起见,我创建了一个 GitHub Gist,其中包含用于构建数据库架构并向其中插入虚拟数据的 SQL 文件。要使用它,我们需要执行以下操作:

  • 使用 Arctype 连接到我们的数据库。
  • 导航到 Arctype 中的“查询”选项卡并创建一个新查询。
  • 粘贴并运行 Gist 中的 create.sql 文件以创建架构。
  • 再次导航到查询选项卡以创建新查询。
  • 在 Gist 中粘贴并运行 insert.sql 文件,以使用虚拟数据填充数据库。

选择* 来自买家 WHERE 买家姓名 IN (选择买家 来自 SKU_DATA);

更新 Order_item 设定价格=价格*1.1 库存单位在哪里 (选择 SKU 来自 CATALOG_SKU_2016);

删除 来自库存 仓库 ID 位于何处 (选择仓库ID 从仓库WHERE SquareFeet < 130000);

选择* 来自 CATALOG_SKU_2017 库存单位在哪里 ( 选择SKU 来自库存 仓库 ID 位于何处 ( 选择仓库ID 从仓库 其中平方英尺 > 130000 ) );

登录后参与评论