赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 操作指南
  5. SQL查询
  6. DQL操作
  7. 查询数据

查询数据

  • DQL操作
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

执行SELECT语句查询表中数据。

前提条件

如果通过表查询数据,请创建表的映射关系。具体操作,请参见创建表的映射关系。如果通过多元索引查询数据,请创建多元索引的映射关系。具体操作,请参见创建多元索引的映射关系。

注意事项

SELECT语句中子句的执行优先级为WHERE子句 > GROUP BY分组查询 > HAVING子句 > ORDER BY排序 > LIMIT和OFFSET。

语法

SELECT
    [ALL | DISTINCT | DISTINCTROW]
    select_expr [, select_expr] ...
    [FROM table_references | join_expr]
    [WHERE where_condition]
    [GROUP BY groupby_condition]
    [HAVING having_condition]
    [ORDER BY order_condition]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]

参数

参数

是否必选

说明

ALL | DISTINCT | DISTINCTROW

否

是否去掉重复的字段,取值范围如下:

  • ALL(默认):返回字段中所有重复的值。

  • DISTINCT:去掉重复的字段,返回去重字段后的值。

  • DISTINCTROW:去掉重复的行,返回去重行后的值。

select_expr

是

列名或者列表达式,格式为column_name[, column_name][, column_exp],...。更多信息,请参见列表达式(select_expr)。

table_references

是

目标表信息,可以是表名或者SELECT语句,格式为table_name | select_statement。更多信息,请参见目标表信息(table_references)。

join_expr

否

JOIN表达式,用于使用Join功能,格式为table_references join_type table_references [ ON join_condition | USING ( join_column [, ...] ) ]。当要使用Join功能时才需要配置此参数。

Join功能允许将两表或多表进行连接,并返回符合连接条件和查询条件的数据。更多信息,请参见Join。

where_condition

否

WHERE子句,可配合不同条件实现相应功能。

  • 配合关系运算符查询符合指定条件的数据,格式为column_name operator value [AND | OR] [column_name operator value]。更多信息,请参见WHERE子句(where_condition)。

  • 配合匹配查询或者短语匹配查询条件实现全文检索。更多信息,请参见全文检索。

  • 配合ARRAY_EXTRACT(col_name)函数实现多元索引数组类型的数据查询。更多信息,请参见多元索引数组类型。

    其中col_name为数组列名。

  • 配合运算符或使用NESTED_QUERY(subcol_column_condition)函数实现多元索引嵌套类型的数据查询。更多信息,请参见多元索引嵌套类型。

    其中subcol_column_condition为同一嵌套层级下的子列查询条件。

  • 配合虚拟列查询满足条件的数据。更多信息,请参见多元索引虚拟列。

groupby_condition

否

GROUP BY分组查询,可配合聚合函数使用,格式为column_name。更多信息,请参见GROUP BY分组查询(groupby_condition)。

having_condition

否

HAVING子句,可配合聚合函数使用,格式为 aggregate_function(column_name) operator value。更多信息,请参见HAVING子句(having_condition)。

order_condition

否

ORDER BY排序,格式为column_name [ASC | DESC][,column_name [ASC | DESC],...]。更多信息,请参见ORDER BY排序(order_condition)。

row_count

否

本次查询需要返回的最大行数。

offset

否

本次查询的数据偏移量,默认偏移量为0。

列表达式(select_expr)

通过列表达式指定需要查询的列。使用规则如下:

  • 使用星号(*)查询所有列,支持配合WHERE子句指定查询条件。

    SELECT * FROM orders;

    使用WHERE子句作为查询条件的示例如下:

    SELECT * FROM orders WHERE orderprice >= 100;
  • 使用列名指定查询的列。

    SELECT username FROM orders;
  • 使用JSON函数查询JSON对象

    SELECT coljson, coljson->>'$.a' AS subdoc FROM json_table WHERE pkint = 1;

    关于JSON函数的更多信息,请参见JSON函数。

目标表信息(table_references)

通过目标表信息指定需要查询的表。

SELECT orderprice FROM orders;

WHERE子句(where_condition)

通过WHERE子句查询满足指定条件的数据。使用规则如下:

  • 配合算术运算符、关系运算符等构造的简单表达式使用。

    SELECT * FROM orders WHERE username = 'lily';
    SELECT * FROM orders WHERE orderprice >= 100;
  • 配合逻辑运算符构造的组合表达式使用。

    SELECT * FROM orders WHERE username = 'lily' AND orderprice >= 100;

关于操作符的更多信息,请参见SQL操作符。

GROUP BY分组查询(groupby_condition)

通过GROUP BY子句对SELECT语句的结果集按照指定条件进行分组。使用规则如下:

  • 按照字段分组

    SELECT username FROM orders GROUP BY username;
  • 在分组的列上支持使用聚合函数

    SELECT username,COUNT(*) FROM orders GROUP BY username;
  • SELECT的所有列中没有使用聚合函数的列,必须出现在GROUP BY中。

    SELECT username,orderprice FROM orders GROUP BY username,orderprice;

关于聚合函数的更多信息,请参见聚合函数。

HAVING子句(having_condition)

通过HAVING子句对WHERE子句和GROUP BY分组查询后的分组结果集进行过滤,查询满足条件的分组结果。

通常HAVING子句与聚合函数配合使用,实现过滤。

SELECT username,SUM(orderprice) FROM orders GROUP BY username HAVING SUM(orderprice) < 500;

ORDER BY排序(order_condition)

通过ORDER BY子句按照指定字段和排序方式对查询结果集进行排序。使用规则如下:

  • 支持使用ASC或者DESC关键字设置排序方式。 默认按照升序(ASC)排列。

    SELECT * FROM orders ORDER BY orderprice DESC LIMIT 10;
  • 支持设置多个字段进行排序。

    SELECT * FROM orders ORDER BY username ASC,orderprice DESC LIMIT 10;
  • 通常与LIMIT配合使用限定返回的行数。

    SELECT * FROM orders ORDER BY orderprice LIMIT 10;
相关文章

查询数据 2025-04-22 14:41

执行SELECT语句查询表中数据。 前提条件 如果通过表查询数据,请创建表的映射关系。具体操作,请参见创建表的映射关系。如果通过多元索引查询数据,请创建多元

聚合函数 2025-04-22 14:41

聚合函数一般用于对多行数据的指定字段执行计算并返回统计结果,例如计算总数、平均数、最大值、最小值等。您可以使用SQL语句通过聚合函数统计分析表中的数据。本文介绍使用SQL查询时支持的聚合函数。

全文检索 2025-04-22 14:41

使用匹配查询(TEXT_MATCH)或者短语匹配查询(TEXT_MATCH_PHRASE)条件作为SELECT语句中的WHERE子句,您可以使用SELECT语句通过多元索引查询表中匹配指定字符串的数据,实现全文检索功能。 前提条件</

多元索引数组类型 2025-04-22 14:41

多元索引除了提供Long、Double、Boolean、Keyword、Text等基本类型外,还提供了数组类型。数组类型属于附加类型,可以附加在Long、Double、Boolean、Keyword、Text等基本类型之上。使用ARRAY_EXTRACT条件作为SELECT语句中的WHERE子句,您

多元索引嵌套类型 2025-04-22 14:41

多元索引除了提供Long、Double、Boolean、Keyword、Text等基本类型外,还提供了嵌套类型(Nested)。嵌套类型代表嵌套文档类型。嵌套文档是指对于一行数据(文档)可以包含多个子行(子文档),多个子行保存在一个嵌套类型字段中。本文介绍如何通过SQL查询功能查询嵌套类型的列数据。

多元索引虚拟列 2025-04-22 14:41

使用多元索引虚拟列功能时,您可以通过修改多元索引schema或者新建多元索引来实现新字段新数据类型的查询功能,而无需修改表格存储的存储结构及数据。 说明 关于多元索引虚拟列的更多信息,请参见虚拟列

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号