SELECT 语句允许您查看关系数据库中的数据的子句构成。这些子句允许您从一个或多个 表或视图中选择列和行、指定一个或多个条件、对数据进行排序和总结以及将选择的数据 放置在临时表中。
本章介绍了如何使用五个 SELECT 语句子句。如果包含全部五个子句,那么它们必须按照 下列顺序出现在 SELECT 语句中: 1. Projection 子句 2. FROM 子句 3. WHERE 子句 4. ORDER BY 子句 5. INTO TEMP 子句
只有 Projection 子句和 FROM 子句是必需的。这两个子句构成每个数据库查询的基础, 原因是它们指定要检索的列值,以及包含这些列的表。使用以下列表中的一个或多个其它 子句:
• 添加 WHERE 子句以选择特定行或创建连接条件。
• 添加 ORDER BY主键以更改生成数据的顺序。
• 添加 INTO TEMP 子句以将结果保存为表以供进一步查询。
还有两个 SELECT 语句子句 GROUP BY 和 HAVING,使您可以执行更复杂的数据检索。 编写高级 SELECT 语句中对它们进行了描述。另一个子句 INTO 指定要从应用程序中的 SELECT 语句中接收数据的程序或主变量。关于使用 SELECT 语句的完整语法和规则在 GBase 8s SQL 指南:语法中有所描述。
SELECT 语句的输出
虽然在所有GBase 8s 产品中语法相同,但是结果输出的格式和显示取决于应用程序。本章 和编写高级 SELECT 语句中的示例如同您在 DB-Access 中使用“交互式查询语言”选项 时那样显示 SELECT 语句及输出。
大对象数据类型的输出
当发出包含大对象的 SELECT 语句时,DB-Access 按如下所示显示结果:
• 对于 TEXT 列或 CLOB 列,显示列的内容。
• 对于 BYTE 列,显示词
• 对于 BLOB 列,显示词
用户定义的数据类型的输出
DB-Access 使用特殊约定来显示包含复杂或不透明数据类型的列的输出。
非缺省代码集的输出
可以发出查询 NCHAR 列而不是 CHAR 列,或者 NVARCHAR 列而不是 VARCHAR 列 的 SELECT 语句。
一些基本概念
SELECT 语句不同于 INSERT 、UPDATE 和 DELETE 语句,它不修改数据库中的数据。 一次只能有一个用户修改数据,而多个用户可同时查询或选择数据。有关修改数据的语句 的更多信息,请参阅修改数据。INSERT 、UPDATE 和 DELETE 语句的语法描述位于
《GBase 8s SQL 指南:语法》中。
在关系数据库中,列是包含出现在表中的每一行中的特定信息类型的数据元素。行是在数 据库表中的所有列上有关单个实体的信息的一组相关项。
可以从数据库表、系统目录表(包含有关数据库的信息的特殊表)、或视图(创建来包含 一组定制数据的虚拟表)中选择列和行。有关系统目录表的信息在 GBase 8s SQL 参考指 南中有所描述。




