数据和商业智能词汇表

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X

SQL

也称为

结构化查询语言

什么是 SQL?

结构化查询语言(称为 SQL)是一种标准化且广泛使用的语言,用于访问和操作关系数据库中的数据。使用 SQL 涉及编写和执行结构化命令(称为语句),这些语句向数据库传达您需要的信息或您想要更改的内容。

SQL 是已发布的 ANSI 和 ISO 标准,这意味着对于该语言包含的确切内容及其工作方式,都有既定的规则。但是,基于 SQL 的数据库系统(如 PostgreSQL、MySQL、SQL Server 等)各自具有略微不同的功能和自身的语法怪癖——没有主要的数据库 100% 符合官方书面标准。

使用 SQL,您可以

  • 创建和配置数据库、表和索引
  • 在数据库中插入、更新和删除信息
  • 从数据库检索信息(通常称为查询)
  • 设置和调整数据库权限

发音是“S.Q.L.”还是“sequel”?

对于发音问题,意见不一,其中一些意见非常强烈。当计算机科学家 Donald Chamberlin 和 Raymond Boyce 在 1970 年代初期首次开发语言规范时,他们将其称为“SEQUEL”(发音为“sequel”),但当面临商标争议时,他们将语言的名称更改为 SQL。ANSI 和 ISO 标准规定官方发音是首字母缩写词(“S.Q.L.”),但今天这两种发音都很常见。

因此,选择您认为最合适的发音即可——只是当有人不同意您的观点时,请不要感到惊讶。

使用 SQL 查询数据库

无论多么高级或复杂,所有 SQL 查询都涉及告诉数据库从表(或多个表)返回某些列,然后可以选择性地指定关于哪些行应包含在这些结果中以及应如何呈现这些结果的条件。

SQL 不区分大小写,但您经常会看到人们将保留字大写(例如,函数和子句,如 SELECTWHEREHAVINGORDER BY)。您可以根据需要将 SQL 语句格式化为单行,但人们通常会将查询分解为单独的行以提高可读性。

SQL 查询示例

这是一个 SQL 查询,它要求 Metabase 的示例数据库返回一个订单表,其中订单小计大于 100 美元

SELECT
    *
FROM
    orders
WHERE
    subtotal > 100

我们可以将此查询分解为三个语句

  1. SELECT * 告诉数据库返回表中的每个
  2. FROM orders 告诉数据库它是哪个表。
  3. WHERE subtotal > 100 告诉数据库筛选结果,并且仅返回 ,其中 Subtotal 字段中的值大于 100。

上面的示例查询是一个非常简单的查询;更高级的查询可以包括 连接聚合CTE 以及用于提取和组织数据的其他工具。

Metabase 中的 SQL

在 Metabase 中提出问题时,您不必编写 SQL(这就是查询构建器的用途),但是如果您更喜欢 SQL 查询,则可以使用原生查询编辑器,以及以下功能:

如果您选择使用查询构建器在 Metabase 中提出问题,则始终可以查看为问题提供支持的底层 SQL,或将其转换为原生 SQL 查询。

重点文章

相关术语

延伸阅读