不具有 ORDER BY 子句的 FIRST 子句

如果具有 FIRST 子句的 SELECT 语句中没有 ORDER BY 子句,那么可能返回符合 SELECT 语句条件的任何行。换言之,数据库服务器确定返回哪些限定行,并且查询结果可能会不同,这取决于优化器选择的查询计划。

以下查询使用 FIRST 子句来返回 state 表中的前五行。

图: 查询

SELECT FIRST 5 * FROM state;

图: 查询结果

code sname
            
            AK   Alaska
            HI   Hawaii
            CA   California
            OR   Oregon
            WA   Washington
当只想知道表包含的所有列的名称和数据的类型,或者测试可能会返回许多行的查询时,可以使用 FIRST 子句。以下查询显示了如何使用 FIRST 子句来返回表的第一行的列值。

图: 查询

SELECT FIRST 1 * FROM orders;

图: 查询结果

order_num      1001
            order_date     05/20/1998
            customer_num   104
            ship_instruct  express
            backlog        n
            po_num         B77836
            ship_date      06/01/1998
            ship_weight    20.40
            ship_charge    $10.00
            paid_date      07/22/1998