SELECT语句

SELECT语句用于从表或视图中取出数据,结果被存储在一个结果表中,称为结果集。

SELECT语句就像叠加在数据库表上的过滤器,利用SQL关键字从数据表中过滤出用户需要的数据。

语法格式

1. SELECT
2. { * | [column, ...] }
3. [ FROM from_item [, ...] ];

参数说明

  • SELECT列表

指定查询表中列名,可以是部分列或者是全部,通配符*表示全部列。

列名可以用下面两种形式表达:

  • 手动输入列名,多个列之间用英文逗号(,)分隔。
  • 可以是FROM子句里面计算出来的字段。
  • FROM子句

为SELECT声明一个或者多个源表。FROM子句涉及多个元素,常见元素如下。

  • table_name

    表名或视图名,名称前可加上模式名,如:schema_name.table_name。表名为最常见的元素。 - subquery

    FROM子句中可以出现子查询,创建一个临时表保存子查询的输出。详细请参见子查询。 - alias

    给表或复杂的表引用起一个临时的表别名,以便被其余的查询引用。详情请参见别名。 - join_type

    有5种类型,详情请参见JOIN。

示例

  • 读取表customer_t1中所有的数据。

1. openGauss=# SELECT * FROM customer_t1; 2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount 3. ---------------+---------------+--------------+-------------+-------- 4. 3869 | hello | Grace | | 1000 5. 3869 | hello | Grace | | 1000 6. 3869 | | Grace | | 7. 3869 | hello | | | 8. 3869 | hello | | | 9. | | | | 10. 6985 | maps | Joes | | 2200 11. 9976 | world | James | | 5000 12. 4421 | Admin | Local | | 3000 13. (9 rows) - 读取表customer_t1中指定字段c_customer_sk、c_customer_id。

1. openGauss=# SELECT c_customer_sk,c_customer_id FROM customer_t1; 2. c_customer_sk | c_customer_id 3. ---------------+--------------- 4. 3869 | hello 5. 3869 | hello 6. 3869 | 7. 3869 | hello 8. 3869 | hello 9. | 10. 6985 | maps 11. 9976 | world 12. 4421 | Admin 13. (9 rows)