查询 Snowflake 中的数据

Snowflake 支持标准 SQL,包括 ANSI SQL:1999 的子集和 SQL:2003 分析扩展。Snowflake 还支持许多命令的常见变体,这些变体不会相互冲突。

Tip

You can use the search optimization service to improve query performance. For details, see Search optimization service.

Working with joins

联接将两个表中的行合并起来以创建可在查询中使用的新组合行。

了解联接概念、联接类型以及如何使用联接。

Analyzing time-series data

使用专为此目的设计的 SQL 函数(例如 ASOF JOIN 功能、日期和时间辅助函数、用于下采样的聚合函数以及支持滑动窗口框架的函数),分析时间序列数据。

使用 ASOF JOIN,了解如何在时间戳列的值批次紧跟、先于或完全匹配的情况下,通过时间戳列连接表。

Eliminate Redundant Joins

A join on a key column can refer to tables that are not needed for the join. Such a join is referred to as a redundant join.

了解冗余联接以及如何消除它们以提高查询性能。

Working with Subqueries

子查询是另一个查询中的一个查询。

了解子查询以及如何使用它们。

Querying Hierarchical Data

关系数据库通常使用不同的表来存储分层数据。

了解如何使用联接、公用表表达式 (CTEs) 和 CONNECT BY 查询分层数据。

Working with CTEs (Common Table Expressions)

A CTE (common table expression) is a named subquery defined in a WITH clause, the result of which is effectively a table.

了解如何编写和使用 CTE 表达式。

Querying Semi-structured Data

半结构化数据表示任意分层的数据结构,可用于加载和操作半结构化格式的数据(例如 JSON、Avro、ORC、Parquet 或 XML)。

了解如何使用特殊运算符和函数来查询存储在 VARIANT 中的复杂分层数据。

Using full-text search

您可以使用全文搜索在一个或多个表的指定列中查找字符数据(文本),包括 VARIANT、OBJECT 和 ARRAY 列中的字段。

了解如何运行使用全文搜索的查询。

Constructing SQL at runtime

您可以创建在运行时动态构造 SQL 语句的程序。

了解在运行时构造 SQL 的不同选项。

Analyzing data with window functions

窗口函数在窗口上运行,窗口是以某种方式相关的行组。

了解窗口、窗口函数以及如何使用窗口函数检查数据。

Identifying Sequences of Rows That Match a Pattern

在某些情况下,您可能需要识别与模式匹配的表行序列。

了解模式匹配以及如何使用 MATCH_RECOGNIZE 处理匹配模式的表行。

Using Sequences

序列用于在会话和语句(包括并发语句)之间生成唯一编号。

了解什么是序列以及如何使用它们。

Using Persisted Query Results

当执行查询时,结果会保留一段时间。

了解如何保留查询结果、保留结果的可用时间以及如何使用保留的查询结果来提高性能。

Computing the Number of Distinct Values

存在多种方法来确定列中不同元素的计数。

学习识别和报告数据中不同元素的方法。

Estimating Similarity of Two or More Sets

Snowflake 提供了比较数据集相似性的机制。

了解 Snowflake 如何确定相似性以及如何比较多个数据集的相似性。

Estimating Frequent Values

Snowflake 可以检查数据以确定数据中值的出现频率。

了解如何确定频率以及如何使用 APPROX_TOP_K 系列函数查询数据以确定数据频率。

Estimating Percentile Values

Snowflake 可以使用改进版本的 t-Digest 算法来估计值的百分比。

了解如何使用 APPROX_PERCENTILE 系列函数估计百分比

Monitor query activity with Query History

监控账户中的查询活动。

了解如何使用查询配置文件检查查询以了解和提高性能。

Using query insights to improve performance

查看针对查询生成的见解。

了解如何提高查询的性能。

Using the Query Hash to Identify Patterns and Trends in Queries

To identify patterns and trends in queries, you can use the hash of the query text, which is included in the query_hash and query_parameterized_hash columns in selected Account Usage view and in the output of selected Information Schema table functions.

了解如何使用这些列中的查询哈希值来识别重复查询并检测查询中的模式和趋势。

Top-K pruning for improved query performance

在包含 LIMIT 和 ORDER BY 子句的 SELECT 语句中,使用 Top-K 修剪的 SELECT 语句不会扫描所有符合条件的行,而是扫描一部分行,从而提高查询性能。

了解如何使用 Top-K 修剪来提高包含 LIMIT 和 ORDER BY 子句的 SELECT 语句的性能。

Canceling Statements

通常使用用于启动查询的接口来取消正在执行的语句。

了解如何使用系统函数取消特定查询或所有当前正在执行的查询。