java-(Oracle)-Oracle,plsqldev,Sql语法,Oracle函数

卸载好注册表,然后安装11g

每次在执行orderby的时候相当于是做了全排序,思考全排序的效率
会比较耗费系统的资源,因此选择在业务不太繁忙的时候进行

sql 复制代码
--给表添加注释
comment on table emp is '雇员表'
--给列添加注释;
comment on column emp.empno is '雇员工号';

select empno,ename,job
from emp
where deptno=10;

select distinct deptno from emp;

select e.empno 雇员编号,e.ename 雇员名称,e.job 雇员工作
from emp e
where e.deptno=10;

在sql中的null值必须要用is和is not来判断
between
exists
nvl(arg1,arg2),如何arg1是空,则返回arg2,如果arg1不为空,则返回arg1
dual是oracle数据库中的一张虚拟表,没有实际的数据,可以用来做测试

sql 复制代码
/*
--给表添加注释
comment on table emp is '雇员表'
--给列添加注释;
comment on column emp.empno is '雇员工号';

select empno,ename,job
from emp
where deptno=10;

select distinct deptno from emp;

select e.empno 雇员编号,e.ename 雇员名称,e.job 雇员工作
from emp e
where e.deptno=10;
*/
select * from emp where deptno <>20;
select sal from emp where sal> any(1000,1500,3000);
select sal from emp where sal> some(1000,1500,3000);
select sal from emp where sal> all(1000,1500,3000);

select * from emp where comm is null;
select * from emp where comm  is not null;
select * from emp where sal between 1500 and 3000;
select * from emp where deptno in(10,20);
select * from emp where deptno =10 or deptno= 20;
--and的优先级高于or
select *
from emp e
where exists(select deptno
                    from dept d
                    where (d.deptno=10 or d.deptno=20) and 
                    e.deptno=d.deptno)
select * from emp where ename like('S%');
select * from emp where ename like('S%T_');
select * from emp where ename like('%\%%')escape('\');
--escape转义字符
select * from emp where ename like('JO%');
select * from emp order by sal;
select * from emp order by sal desc;
select * from emp order by sal desc ,ename asc;

--计算字段
select 'my name is'||ename  from emp;
select concat('my name is',ename) from emp;
select ename,(e.sal+nvl(e.comm,0))*12 from emp e
select 100+null from dual
--并集union
--全集 union all
select * from emp where ename like('S%') minus
select * from emp where sal between 300 and 2000;

函数

组函数又称为聚合函数
输入多个值,最终只会返回一个值

sql 复制代码
select sum(sal) from emp;
select count(*) from emp;
select initcap(ename) from emp;
select upper(ename) from emp;
select lower(ename )from emp;
select lpad(ename,10,'*')from emp;
select rpad(ename,10,'*')from emp;
select trim(ename) from emp;
select ltrim(ename) from emp;
select rtrim(ename) from emp;
select instr(ename,'A') from emp;
select length(ename) from emp;
select substr(ename,0,2)from emp;
select replace('abcdefg','ab','hehe')from emp;
select round(123.129,2) from dual;
select trunc(123.128,2) from dual;
select mod(10,4)from dual;
select ceil(10.555)from dual;
select floor(1255.222)from dual;
相关推荐
IT古董14 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
for_ever_love__15 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
Nturmoils19 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
最笨的羊羊19 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase
fish_xk19 小时前
mysql中的表的约束
数据库·mysql
谢亮_vipxieliang19 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
ggaofeng21 小时前
自己编写邮件服务器和客户端
数据库
java1234_小锋21 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
PaperData21 小时前
2015-2024年各省绿色贸易数据
数据库
小羊没烦恼!21 小时前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#