如何创建子查询 (Visual Database Tools)

可以将一个查询的结果用作另一个查询的输入。可以将子查询的结果用作使用 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'))