您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

降低 SQL 语句的复杂性

SQLScript 中的变量使您能够任意地将复杂的 SQL 语句分解为多个更简单的语句。这使 SQLScript 过程更易于理解。

为了说明这一点,请考虑以下查询:

books_per_publisher = SELECT publisher, COUNT (*) AS cnt 

FROM :books GROUP BY publisher;

largest_publishers = SELECT * FROM :books_per_publisher

WHERE cnt >= (SELECT MAX (cnt)

FROM :books_per_publisher);

将此查询作为单个 SQL 语句写入需要临时视图的定义(使用 WITH),或者需要多次重复子查询。上面的两个语句将复杂查询拆分为两个通过表变量链接的较简单的 SQL 语句。此查询更易于理解,因为表变量的名称传达查询的含义,并且它们也会将复杂查询拆分为较小的逻辑区段。

SQLScript 编译器会将这些语句组合到单个查询中,或使用表变量作为提示来标识公用子表达式。生成的应用程序在不影响性能的情况下更容易理解。