Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了oracle基本语法(5)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1>2个数值处理函数
2>5个字符处理函数
3>2个类型转换函数
4>5个分组函数
5>1个空值转换函数
6>常见数据库对象
7>内连接与外连接

1、数值处理函数:
round(参数1,参数2):进行四舍五入,参数1,需要处理的数据(原数据),参数2,截取位数;参数2>0,向右,<0,向左,=0,小数点位置
trunc(参数1,参数2):直接截取,参数1,需要处理的数据(原数据),参数2,截取位数;参数2>0,向左,=0,小数点位置
SELEct count(*),round(avg(sal),0),deptno from emp group by deptno;
SELEct count(*),trunc(avg(sal),-2),deptno from emp group by deptno;

2、字符处理函数:
lower(参数):将所有字母都变成小写;
upper(参数):将字母都变成大写;
initcap(参数):首字母大写,其余小写
length(参数):求字符串长度
substr(参数1,参数2,参数3):取子串 ,参数1,被截取的字符串;参数2,从哪里开始截取;参数3,截取几位,截取的位数;

参数:可以是字符串,也可以字符串类型的列名,普通字符串
例如:查询员工的姓名和岗位,姓名要小写;
SELEct ename,lower(eName),job from eR_724_11845@p;
普通字符串:‘Hello World!‘

SELEct lower(‘Hello World!‘),upper(‘Hello World!‘),initcap(‘Hello World!‘),length(‘Hello World!‘),substr(‘Hello World!‘,2,6) from dual;
虚表:dual 作用:处理跟查询表数据,表结构没有直接关系查询操作;
SELEct 456*789 from dual;
SELEct sysdate from dual;

3、转换函数:TO_CHAR,to_date
TO_CHAR(参数1,参数2):主要是将日期类型的数据转换成字符串类型的数据,还可以规范日期格式;
参数1,是日期类型的列名或者数据;参数2 是格式,常用的格式:“yyyy-mm-dd hh24:mi:ss”
用法:TO_CHAR(参数1,参数2):参数1,待转换列名;参数2:转换成格式
用途一:单纯的规范日期数据的格式
SELEct ename,hiredate,TO_CHAR(hiredate,‘YYYY-mm-dd hh24:mi:ss‘),job from eR_724_11845@p;
用途二:用在查询条件中,根据日期类型的列来查询;
例如:查询在1981年10月1日之前入职的员工信息?
SELEct * from emp where TO_CHAR(hiredate,‘yyyy-mm-dd‘)<‘1981-10-01‘;
to_date(参数1,参数2):主要是将字符串类型的日期数据转换成日期类型的;主要用在插入insert语句中
用法:to_date(参数1,参数2):参数1,待转换的字符串;参数2:转换成格式

例如:插入入职日期是1999-10-10的员工;
insert into emp values(2222,‘sunsun‘,‘CLERK‘,7902,‘1999-10-10‘,2000,100,10); --》报错,格式不匹配
insert into emp values(2223,to_date(‘1999-10-10‘,‘YYYY-mm-dd‘),10);
SELEct * from emp where ename=‘sunsun‘;
4、分组函数
count(参数):统计查询语句返回的行数;
@H_589_5@max(参数):最大
@H_589_5@min(参数):最小
avg(参数):平均值
sum(参数):求和

注意:参数一般是列名

5、空值转换函数
nvl(参数1,参数2)
功能:转换空值为一个特定的值
参数1:需要转换到列名,参数2:需要指定的特定的值

6、常见的数据库对象

①表(table):由行和列组成的二维表格;表格中的行也叫记录,列也叫属性;
②视图(vIEw):用来简化查询语句的,可以让一个复杂的查询语句变得简单;
例如:
create view v0726 as
SELEct cname,chour,tname from course where cID in (SELEct cID from score where sID=(SELECT SID from student where sname=‘王五‘));
SELEct * from v0726;
可见创建视图的语法create view 视图名 as + SELEct 语句;

创建备份表:create table 表名 as SELEct 语句
create table empbf as SELEct * from emp;
赋系统权限grant 权限1,权限2... to 用户名;
例如:
普通用户没有创建vIEw的权限,需要sys授权,命令:grant create view to scott;
create session ----登录数据库,创建会话;
create table ----创建表的权限
create view ---创建视图的权限
create sequence ---创建序列的权限
create procedure ---创建存储过程的权限
create synonym ----创建同义词的权限
create tablespace ---创建表空间的权限

③索引(index):提高查询效率;如果有索引,可以查询的快一些,主要用在表中数据量很大的情况才有效果;
SELEct * from student where sphone=18183929386 ;
创建索引语法:create index 索引名 on 表名(列名);

注意:索引不宜多建,索引会占用表空间,牺牲了空间换取了效率...
④存储过程:数据库里编程;数据库中写代码(procedure),别名:存过 ,过过
作用:将业务当中的业务逻辑、企业规则、公用的部分写成存储过程或者函数保存到数据库中,以便其他模块调用,简化程序开发和维护,提高效率和性能。
create [or replace] procedure 存储过程名
(

[arg1 [IN|OUT|IN OUT]] 数据类型,

[arg2 [IN|OUT|IN OUT]] 数据类型,
...
)

is|as

声明部分;

begin

执行部分;

exception

异常处理部分;

end;

7、内连接、外连接
内连接:多表联合查询的另外一种写法;表名1 inner join 表名2 on 连接条件;
SELEct * from student,department where student.dID=department.dID;
SELEct * from student inner join department on student.dID=department.dID;

注:外连接,并非主外键关系
外连接:left outer join;先将符合条件的数据查询出来,再将左表中不符合条件的数据查询出来;
外连接:right outer join;先将符合条件的数据查询出来,再将右表中不符合条件的数据查询出来;
外连接:full outer join;先将符号条件的数据查询出来,再将左表不符合查询出来,再将右表不符合查询出来;

8、删除主键约束:
alter table 表名 drop consTraint 约束名;
查找主键约束名语句:
SELEct owner,constraint_name,column_name from USER_CONS_columns where table_name=‘SALGRADE‘;

大佬总结

以上是大佬教程为你收集整理的oracle基本语法(5)全部内容,希望文章能够帮你解决oracle基本语法(5)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。