![](https://csdnimg.cn/release/download_crawler_static/10046593/bgb.jpg)
二、select from 语句
2.1 select 语句功能
1)投影操作:结果集是源表中的部分“列”
2)选择操作:结果集是源表中的部分“行”
3)选择操作+投影操作:结果集是源表中的部分“行”部分“列”
4)连接操作 join:多表查询,结果集来自多张表,把多张的记录按一定条件组合起来
2.2 select 语句基本语法
1)select colname(列名) from tabname(表名)
2)select 中指定多个列名,则用“逗号”分隔:select colname1,colname2 from tabname
3)* 号表示所有列:select * from tabname
4)select 语句:可有多个子句
5)select 子句:投影操作(列名)、列表达式、函数 、from 子句等
2.3 列别名
1)给列起一个别名,能够改变一个列、表达式的标识。
2)不写的话默认都是转成大写。 3)适合计算字段。
4)在原名和别名之间可以使用 as 关键字。
5)别名中包含空格、特数字符或希望大小写敏感的,用“”双引号将其括起来。
2.4 算术表达式
在 number 类型上使用算术表达式(加减乘除)。
eg:一个月使用了 250 小时,每种资费标准下应缴纳的费用(首次实现)
select base_cost + (250 - base_duration)*unit_cost fee from cost;
2.5 空值 null 的处理
未知的,没写数
1)空值不等于 0
2)空值不等于空格
3)在算术表达式中包含空值导致结果为空
4)在算术表达式中包含空值需要用空值转换函数 nvl 处理
2.6 nvl(p1,p2)函数
空值转换函数
1)两个参数类型要一致!
2)参数的数据类型可以是数值 number、字符 character、日期 date
3)但 null 转成字符串,null 也要用 to_char()转化。
4)实现过程:
if p1 is null then return p2
elase return p1
end if
5)实现空值转换:null->非 null 值 0