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;
相关推荐
axban2 分钟前
QT M/V架构开发实战:M/V架构的初步认识
开发语言·数据库·qt
Dontla9 分钟前
Docker Compose healthcheck介绍(监控容器中服务的实际健康状态)数据库健康检查pg_isready
数据库·docker·容器
semantist@语校25 分钟前
第十九篇|东京世界日本语学校的结构数据建模:制度函数、能力矩阵与升学图谱
数据库·人工智能·线性代数·矩阵·prompt·github·数据集
数巨小码人26 分钟前
Oracle SQL调优技巧实战指南
数据库·sql·oracle
noravinsc28 分钟前
在银河麒麟v10上安装达梦8数据库
服务器·数据库·oracle
没有bug.的程序员1 小时前
Redis 内存优化与压缩:从原理到实战的完整指南
java·数据库·redis·内存优化·压缩内存
肃清11 小时前
《Redis核心机制解析》
数据库·redis·缓存
TG_yunshuguoji1 小时前
阿里云国际代理:如何利用RDS构建高可用、可扩展的数据库架构
服务器·数据库·阿里云·云计算·数据库架构
大可门耳1 小时前
Qt的数据库模块介绍,Qt访问SQLite详细示例
数据库·qt·sqlite
无名客02 小时前
SQL语句执行时间太慢,有什么优化措施?以及衍生的相关问题
java·数据库·sql·sql语句优化