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)