oracleday05(查询 空 日期)

将为空的数据增加10

update set fellowship =10 where fellowship is null

delete语句的使用

基本用法 

delete from 表名 where 条件

注意事项

如果不使用where 条件将删除表中所有数据

删除其中某一列是不行的 delete 以行为操作  如果要删除某列的值则需要使用update语句

使用delete仅删除记录 不删除表本身如果要删除表要用drop table

从一个表中删除记录将引起其他表的参照完整性问题(另外一个表引用了删除表的数据)

delete from 表名 可以用先savapoint xx; rollback to xx;

drop table 表名;删除标的结构和数据

truncate table 表名  删除所有记录表结构不变  速度快 不写日志但是不能回滚

commission 这个单词的缩写,佣金的意思

查询语句select

基本语法

select [distinct] *|(列名1,列名2,列名3) from  表名 [where(条件)]  []可写 ()必写

尽可能减少查询返回的结果 不要轻易使用*

select distinct deptno,job from emp ; 去除重复行 要完全一样才能去除查询结果中的记录

oracle 的sql不区分大小写(语句本身 比如字段和表名) 但是内容(查询的内容)是区分大小写的

oracle 查询中使用算术表达式

nvl(字段名,0) 字段名为空就改成0 不为空就原来的 用于处理数据null的问题

字段||字段  连接符 在查询的时候 如果希望把多列拼接作为一列返回可以使用

希望删除用户同时保留该用户的数据对象

锁定该用户

alter user scott account lock; 这时该用户已经不能登录到数据库但是 system用户依然可以使用他的数据对象

alter user scott account unlock; 解锁

select * from emp where hiredate >'1982-1-1'; 这时oracle 可能提示格式不匹配

select * from emp where to_char(hiredate,'yyyy-mm-dd') >'1982-1-1'; 

between 包含头和尾

select ename,sal from emp where ename like 'S%'; 取雇员首字母为S的

加_下划线为任意字符 到指定位置

select * from emp where empno in (123,345,666);

oracle 中使用逻辑运算符

select * from emp where (sal>123 or job='manager') and (ename like 'J%');

order by 对结果进行排序显示

select * from emp  order by sal ; 默认升序ascend

select * from emp  order by sal asc ;

select * from emp  order by sal desc ; 降序 descend

select * from emp  order by sal ,hiredate desc; 先左边后右边

oracle 支持使用别名排序

select ename,sal*13+nvl(comm,0) 年薪 from emp order by 年薪;

oracle 的分页查询要使用到子查询 

数据分组常用五个函数 max min count sum avg

select max(sal) from emp;

avg(sal)  不会把sal 为null 的统计进去 因此我们要注意,如果要为null的也参与则

可以用select sum(sal)/count(*) from emp;

count(sal) 才4个 加*号就是所有

写sql语句是从左到右

sql执行的默认情况是从右到左

无论select有多少 oracle 有执行顺序

select ename, job from emp where sal = (select max(sal) from emp);

select max(sal) from emp 得到5000 1

select ename, job from emp where sal = 5000; 2

求平均工资的时候思考空的要不要加入进去


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值