与第三个表进行简单连接的外连接

使用 GBase 8s 语法,下列查询显示作为第三个表的简单连接结果的外连接。这第二种类型的外连接也称为嵌套简单连接

图: 查询

SELECT c.customer_num, c.lname, o.order_num, 
            i.stock_num, i.manu_code, i.quantity
            FROM customer c, OUTER (orders o, items i)
            WHERE c.customer_num = o.customer_num
            AND o.order_num = i.order_num
            AND manu_code IN ('KAR', 'SHM')
            ORDER BY lname;
该查询首先对 ordersitems 表执行简单连接,并检索 manu_code 为 KAR 或 SHM 的商品的所有订单的信息。然后,它执行外连接以将此消息与控制 customer 表的数据结合。可选的 ORDER BY 子句将数据重组为以下格式。

图: 查询结果

customer_num lname             order_num stock_num manu_code quantity
          
          114 Albertson
          118 Baxter
          113 Beatty
          ⋮
          105 Vector
          121 Wallack                1018       302 KAR              3
          106 Watson