Module 01 · Getting Started with SQL
SELECT Statement使用 SELECT 语句检索数据
课程目标
在本课结束时,您将能够:
- 从关系型数据库表中检索数据。
- 理解谓词(Predicate)的用途。
- 识别使用 WHERE 子句的
SELECT语句语法。 - 列出关系型数据库管理系统(RDBMS)支持的比较运算符。
SELECT 语句与数据检索
数据库管理系统的主要目的不仅是存储数据,还包括促进数据的检索。
在创建关系型数据库表并使用 INSERT 语句插入数据后,我们需要查看这些数据。此时,我们使用 SELECT语句。
什么是 SELECT 语句?
SELECT语句是**数据操作语言(DML)**语句的一种。- DML 语句用于读取和修改数据。
SELECT语句通常被称为查询(Query)。- 执行此查询后获得的输出被称为结果集(Result Set)或结果表(Result Table)。
检索所有数据(SELECT *)
SELECT 语句最简单的形式是:
- 在 SQL 中,星号()代表所有列。
示例: 基于“Book”实体,我们创建了名为 Book 的表,并使用 INSERT 语句向其添加了行数据。
- 执行此语句将返回
Book** 表中所有列的全部数据行**(例如,返回四行数据)。
检索所有列的另一种方式
您也可以通过在 SELECT 语句中单独指定所有列名来检索所有行和所有列的数据。
检索列的子集
您不必总是检索表中的所有列,可以仅检索列的子集。
示例: 仅检索 Book 表中的 Book_ID 和 Title 两列。
- 在这种情况下,仅显示这两列的数据,但仍显示所有四行数据。
- 注意: 显示的列的顺序始终与
SELECT语句中指定的顺序匹配。
使用 WHERE 子句限制结果集
我们经常需要根据特定条件来限制返回的结果集。例如:“我们想知道 Book_ID 为 B1 的书的书名(Title)。”
关系操作允许我们使用 WHERE** 子句**来限制结果集。
谓词(Predicate)
WHERE子句始终需要一个谓词。- 谓词是一种条件,其评估结果为 True(真)、False(假)或 Unknown(未知)。
- 谓词用于
WHERE子句的搜索条件中。
SELECT语句中使用WHERE子句的语法
示例: 检索 Book_ID 为 B1 的书的 Book_ID 和 Title。
- 结果: 结果集现在被限制为仅有一行数据,即该谓词评估结果为 True 的行。
比较运算符
上述示例使用了等于(=)比较运算符。RDBMS 支持多种比较运算符,用于构造 WHERE 子句中的谓词:
| 运算符 | 描述 |
|---|---|
| 等于(Equal to) | |
| 大于(Greater than) | |
| 小于(Less than) | |
| 大于或等于(Greater than or equal to) | |
| 小于或等于(Less than or equal to) | |
| 或 | 不等于(Not equal to) |