oracle 10g 学习之基本 SQL SELECT 语句(4)
本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的
定义空值
l 空值是无效的,未指定的,未知的或不可预知的值
l 空值不是空格或者0。
SELECT last_name, job_id, salary, commission_pct FROM employees;
空值在数学运算中的使用
包含空值的数学表达式的值都为空值
SELECT last_name, 12*salary*commission_pct
FROM employees;
连接符
l 把列与列,列与字符连接在一起。
l 用 ‘||’表示。
l 可以用来‘合成’列。
SELECT last_name||job_id AS "Employees" FROM employees;
字符串
l 字符串可以是 SELECT 列表中的一个字符,数字,日期。
l 日期和字符只能在单引号中出现。
l 每当返回一行时,字符串被输出一次。
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;
SQL 语句与 SQL*Plus 命令
SQL
- 一种语言
- ANSI 标准
- 关键字不能缩写
- 使用语句控制数据库中的表的定义信息和表中的数据
SQL*Plus
- 一种环境
- Oracle 的特性之一
- 关键字可以缩写
- 命令不能改变数据库中的数据的值
- 集中运行
SQL*Plus
使用SQL*Plus可以:
l 描述表结构。
l 编辑 SQL 语句。
l 执行 SQL语句。
l 将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。
l 在保存的文件中执行语句。
将文本文件装入 SQL*Plus编辑窗口。
显示表结构
使用 DESCRIBE 命令,表示表结构
DESC[RIBE] tablename
LIKE
使用 LIKE 运算选择类似的值
选择条件可以包含字符或数字:
% 代表零个或多个字符(任意个字符)。
_ 代表一个字符。
SELECT last_name
FROM employees
WHERE last_name LIKE '_o%';
可以使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号。
ESCAPE
回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可。
SELECT job_id
FROM jobs
WHERE job_id LIKE ‘IT\_%‘ escape ‘\‘;
查询’IT_后面可以为任意字符,可有可无’这样的字符串,使用’\’ 和 escape转义