以星号表示法选择 ROW 列的所有字段

如果您想要选择有 ROW 类型的列的所有字段,则您可不使用点表示法指定列名称。例如,您可选择 rect 列的所有字段,如下:
SELECT rect FROM rectangles
        WHERE area = 64;
您还可使用星号(*)表示法来投影有 ROW 数据类型的列的所有字段。例如,如果您想要使用星号表示法来选择 rect 列的所有字段,您可输入下列语句:
SELECT rect.* FROM rectangles
        WHERE area = 64;
与分别地指定 rect 列的每一字段相比,星号表示法更容易:
SELECT rect.x, rect.y, rect.length, rect.width
        FROM rectangles
        WHERE area = 64;

在 SELECT 语句的 projection 列表中,ROW 字段星号表示法是有效的。它可指定 ROW 类型列的所有字段,或 ROW 列表达式返回的数据。

星号表示法不必带有 ROW 类型列,因为您可单独指定列名称来投影它的所有字段。然而,带有 ROW 类型表达式的星号表示法非常有用,诸如返回 ROW 类型值的子查询和用户定义的函数。要获取更多信息,请参阅 使用带有 Row 类型表达式的点表示法

您仅可在 SELECT 语句的 projection 列表中使用带有 ROW 数据类型的列或表达式的星号表示法。您不可在 SELECT 语句的任何其他子句中使用带有 ROW 类型的列和表达式的星号表示法。