oracle上课笔记,oracle 上课笔记

本文详细介绍了Oracle SQL中的查询技巧,包括分页查询、数值处理、日期操作、空值处理、别名设定以及字符串连接。同时,还讲解了各种函数的用法,如ROUND、TRUNC、LENGTH、INSTR等,并探讨了外连接的不同类型。此外,还提到了聚合函数AVG的使用及GROUP BY和HAVING子句的应用。
摘要由CSDN通过智能技术生成

分页: select * from (     select e.*, rownum from (         select * from emp     ) e     where e.rownum > 5 and e.rownum < 10 ) type: NUMBER(7,2) 总长度7位,小数2位 date      加天  hiredate + 1     加一个小时 hiredate + 1 / 24 oracle中空值和0: select money, money + 100 from tb; 如果money是空值,加了100还是空值 别名: select age, age+1 as new_age from user; select age, age+1 as "new_age" from user; 加了双引号,是什么就是什么, 可以加空格,特殊符号 ||用来连接:列和列, 列和字符串 显示表结构,命令, 此命令只能在命令行下运行(仅限PL/SQL,其他不知) select distinct name, age from user; 相当于distinct(name, age),所以name,age组合不重复就会显示 默认格式DD-MON-RR  日月年 <>不等于 (!=  也ok的) between x and y (含) IN(set)  满足set中出现的项就会出现 dual dual位oracle的虚表,常用于查询常量或常量运算 函数: concat('hello', 'world') 连接 substr('hello world', 1, 5) 取子串 第1-5个字符 lpad(str, 10, ch) 对于str, 如果长度小于10, 则在左侧以ch字符填充 lpad(str, 10, ch) 对于str, 如果长度小于10, 则在右侧以ch字符填充 length(str) 取str的长度 instr(str, ch) 查询ch第一次出现在str是几(从1开始, 没有出现为0) round(123.456, 2) 保留2位小数,四舍五入    round(date, 'MONTH') 精确到月份:如果天数超过一半(15,16是界限),则进到下个月1号,否则退到本月1号: DAY YEAR同理 trunc(123.456, 2) 保留2位小数 mod(123, 2) ==> 123%2 months_between(date1, date2) 计算两个时间相差多少个月 add_months(hiredate, 3) 往hiredate上向后计算2个月 next_day(date, '星期一') 以date为起点,计算下一个星期一的日期 last_day(date) 对于date中的月份,它这个月中的最后一天的日期 nvl(a, b) 如果a为空,则用b代替 nvl2(a, b, c)  return (a is not null) b:c nullif(a, b) 相等返回null,否则返回1 coalesce(a,b,c,d)  返回第一个不为空的值 decode(job,    'CLERK',    'c',         'MANAGER',    'm',         'ANALYT',    'a',                 'd')  --如果job等于clerk显示c,manager显示m…… select avg(sal) from emp group by deptno 如果要帅选平均值大于2000的,则在后面加上: having avg全连接(sal) > 2000 不能使用where avg(sal) > 2000, oracle在语法上不支持 ===================================================================================== (+)方式的外连接只有oracle支持 sql 1999 语法支持多种不同的数据库 select * from emp e, dept d where e.deptno(+) = d.deptno select * from emp e left outer join dept d on (e.deptno = d.deptno) select * from emp e right outer join dept d on (e.deptno = d.deptno) select * from emp e full outer join dept d on (e.deptno = d.deptno)  --全连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值