如何:创建子查询

可以将一个查询的结果用作另一个查询的输入。 可以将子查询的结果用作使用 IN( ) 函数、EXISTS 运算符或 FROM 子句的语句。

若要创建子查询,可以在“SQL”窗格中将其直接输入,或者复制一个查询并将其粘贴到另一个查询中。

提示

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置

在“SQL”窗格中定义子查询

  1. 创建主查询。

  2. 在“SQL”窗格中选择 SQL 语句,再使用**“复制”**将该查询移动到剪贴板上。

  3. 启动新查询,再使用**“粘贴”**将第一个查询移动到新查询的 WHERE 或 FROM 子句中。

    例如,假设有 products 和 suppliers 两个表,您希望创建显示瑞典供应商的所有产品的查询。 在 suppliers 表中创建第一个查询以查找所有的瑞典供应商:

    SELECT supplier_id
    FROM supplier
    WHERE (country = 'Sweden')
    

    使用“复制”命令将此查询移动到剪贴板中。 用 products 表创建第二个查询,该查询列出您需要的产品信息:

    SELECT product_id, supplier_id, product_name
    FROM products
    

    在“SQL”窗格中,将 WHERE 子句添加到第二个查询中,然后从剪贴板粘贴第一个查询。 用括号将第一个查询括起来,以使最终结果如下所示:

    SELECT product_id, supplier_id, product_name
    FROM products
    WHERE supplier_id IN
       (SELECT supplier_id
      FROM supplier
      WHERE (country = 'Sweden'))
    

请参见

概念

支持的查询类型 (Visual Database Tools)

查询中的表达式

其他资源

指定搜索条件