Oracle 数据库/SELECT 语句
外观
SELECT 语句从数据库中检索数据。使用 SELECT 语句,您可以使用以下功能
- 投影:选择查询返回的表中的列。
- 选择:使用某些条件来限制结果,选择查询返回的表中的行。
- 连接:通过指定它们之间的链接,将存储在不同表中的数据组合在一起。
SELECT *|{[DISTINCT] column|expression [[AS] alias],...}
FROM table;
- SQL 语句不区分大小写。
- SQL 语句可以输入在一行或多行上。
- SELECT、FROM 等关键字不能缩写或拆分到多行。
- 在 SQL Developer 中,SQL 语句可以选择性地用分号 (;) 终止。当您执行多个 SQL 语句时,分号是必需的。
- 在 SQL*Plus 中,您需要在每个 SQL 语句的末尾用分号 (;) 结尾。
- 选择所有列
SELECT *
FROM hr.employees;
- 选择特定列
SELECT employee_id, last_name, hire_date
FROM hr.employees;
- 排除重复行
SELECT DISTINCT last_name
FROM hr.employees;
- 使用算术运算符
- 运算符优先级与普通数学相同,(即。/ * + -)
- 包含空值的算术表达式计算结果为空
SELECT last_name, salary, (salary+100-20)*105/100
FROM hr.employees;
- 使用列标题默认值
- SQL Developer
- 默认标题显示:大写
- 默认标题对齐方式:左对齐
- SQL*Plus
- 默认标题显示:大写
- 字符和日期列标题:左对齐
- 数字列标题:右对齐
- SQL Developer
- 使用列别名
- 重命名列标题
- 列名和别名之间的 AS 关键字是可选的
- 如果包含空格、特殊字符或区分大小写,则需要双引号
SELECT last_name AS name, commission_pct comm, salary*12 "Annual Salary"
FROM hr.employees;
- 文字字符字符串
- 日期和字符文字值必须用单引号括起来
- 每个字符字符串都会为返回的每一行输出一次
SELECT last_name || ' annually earns ' || salary*12
FROM hr.employees;
- 转义单引号字符,使用两个单引号
SELECT last_name || '''s employee no is ' || employee_id
FROM hr.employees;
- 转义单引号字符,使用备用引号 (q) 运算符
SELECT last_name || q'<'s employee no is >' || employee_id
FROM hr.employees;
- 了解 DESCRIBE 命令以显示表结构
DESC[RIBE] table
隐式数据类型转换
当 Oracle 尝试将与函数定义的参数不匹配的值转换为所需数据类型时,会发生隐式转换。
显式数据类型转换 显式转换发生在调用 TO_CHAR 等函数以更改值的数据类型时。
- 嵌套多个函数
- 将 NVL、NULLIF 和 COALESCE 函数应用于数据
- 在 SELECT 语句中使用条件 IF THEN ELSE 逻辑
- 描述单行函数和多行函数之间的区别
单行函数每行返回一个结果。
单行函数
Manipulate data items Accept arguments and return one value Act on each row that is returned Return one result per row May modify the data type Can be nested Accept arguments that can be a column or an expression
字符函数
Case manipulation functions LOWER UPPER INITCAP
- 使用 SELECT 和 WHERE 子句中的字符函数操作字符串
- 使用 ROUND、TRUNC 和 MOD 函数操作数字
- 使用日期数据执行算术运算
- 使用日期函数操作日期
本节是一个存根。 您可以通过 扩展它 来帮助 Wikibooks。 |
本节是一个存根。 您可以通过 扩展它 来帮助 Wikibooks。 |