Oracle学习笔记 下载本文

勿传网上!严禁谋利! Oracle学习笔记 常彦博

1.16课程中使用的5个表

3

勿传网上!严禁谋利! Oracle学习笔记

常彦博

4

勿传网上!严禁谋利! Oracle学习笔记

常彦博

二、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

5

勿传网上!严禁谋利! Oracle学习笔记

eg:一个月使用了250小时,每种资费标准下应缴纳的费用(再次实现) 常彦博

select nvl(base_cost,0) + (250 - nvl(base_duration,0)) * nvl(unit_cost,0) fee from cost; 2.7拼接运算符 ||

表达字符(串)的拼接,可以将某几列或某列与字符串拼接在一起。 select colname1||colname2 from tabname 2.8文字字符串

select语句后面可以包含的文字值:字符、表达式、数字。

1)字符常量(或字符串)必须用‘’单引号括起来,作为“定界符”使用。 2)表达单引号本身,需要两个单引号 ' ' ' ' 1,4定界2,3表单引号。 3)对于文字值每行输出一次。 eg:显示客户姓名的身份证号是?? select real_name | | ' ' ' s IDCARD NO is ' | | idcard_no | | ' . ' cilent from account; 4)函数转换大小写,尽量在进入数据时操作。 2.9消除重复行 distinct去重复行(对整条记录返回的结果去重,不是对后面的某个列去重),若后面有多列,则所有列联合起来唯一,即每列的值都可以重复,但组合不能重复。 eg1:哪些unix服务器提供远程登录业务 select distinct unix_host from service; eg2:每一台unix服务器在哪些天开通了远程登录业务 select distinct unix_host,create_date from service; 2.10其他注意事项 1)调常量时用单行单列的dual表,系统提供的表。 2)invalid identifier 无效标识名,列名不。 3)table or view does not exist 表名不对。 6