• 简单查询

  • 集合

  • 连接

简单查询指从 OceanBase 一个或多个选择列表或视图中检索一个或多个列数据的操作,列的数量以及它们的数据类型和长度由选择列表的元素确定。而选择列表指的是 SELECT 关键字之后和 FROM 子句之前的表达式列表。

层次查询是一种具有特殊功能的查询语句,通过它能够将分层数据按照层次关系展示出来。分层数据是指关系表中的数据之间具有层次关系。

您可以使用集合运算符 、UNION ALLINTERSECTMINUS 来组合多个查询。 所有集合运算符都具有相同的优先级。如果 SQL 语句包含多个集合运算符,则 OceanBase 从左到右对它们进行判断,除非括号中指定了顺序。本节主要讲了以下集合运算符:

连接(Join)是将来自两个或多个表、视图或实例视图的行组合在一起的查询。 每当查询的 FROM 子句中出现多个表时,OceanBase 数据库执行连接。 查询的选择列表可以从其中任何表中选择任何列。 如果这两个表都有一个列名,那么您必须用表名限定查询过程中对这些列的所有引用。本节主要讲了以下连接:

连接类型

表示

说明

等值连接

Equijoins

包含等式运算符连接条件的连接。

自连接

SELF-JOIN

表与其自身的连接。

内连接

INNER JOIN

内连接,结果为两个连接表中的匹配行的连接。

左(外)连接

LEFT [OUTER] JOIN

右(外)连接

RIGHT [OUTER] JOIN

结果包括右表(出现在 子句最右边)中的所有行,不包括有左表中的不匹配的行。

全(外)连接

FULL [OUTER] JOIN

结果包括所有连接中的所有行,不论他们是否匹配。

SEMI 连接

SEMI-JOIN

SEMI-JOIN 只能通过子查询展开得到。

ANTI 连接

ANTI-JOIN

ANTI-JOIN 也只能通过子查询展开得到。

笛卡儿积

Cartesian Products

当两个表没有连接操作时,对这两个表进行查询得到的数据是这两个表的笛卡儿积。

子查询指的是 SELECT 查询语句中嵌套了另一个或者多个 SELECT 语句,可以返回单行结果、多行结果或不返回结果。SELECT 语句的 FROM 子句中的子查询也称为内联视图。您可以在嵌入式视图中嵌套任意数量的子查询。SELECT 语句的 WHERE 子句中的子查询也称为嵌套子查询。