Oracle语句大全

Oracle语句大全


2024年4月4日发(作者:)

Oracle SQL语句大全

(描述) emp 描述emp这张表

dept 部门表

salgrade 薪水等级

*from table 查找表中的元素

是系统中的一张空表

*from dual

sysdate from dual 取出系统时间

ename,sal*12 "annul sal"(取的别名) from emp; 查找用户姓名和用户的年薪

9.任何含有空值的数学表达式的值都是空值

select ename,sal*12+comm from emp;

ename||sal from emp 其中的||相当于将sal全部转化为字符串

11.表示字符串的方法

select ename ||'ajjf' from emp;

12.如果其中有一个单引号就用2个单引号来代替他

select ename||'sakj' 'lds'from emp;

distinct deptno from emp (去除部门字段中重复的部分,关键字distinct)

distinct deptno,job from emp;(去除这2个字段中重复的组合)

*from dept where deptno=10; 取出条件(取出部门编号为10的记录)

* from emp where ename='CLIRK'; 取出部门中姓名为clirk的记录(注意取出过程中

ename用单引号隔开)

ename,sal from emp where sal>1500; 取出部门中薪水大于1500的人的姓名

ename,sal,deptno from emp where deptno<> 10 取出部门中的部门号不等于10的

ename,sal,deptno from emp where ename>'CBA' 取出部门中员工名字大于CBA的员

工(实际比较的是ACIIS码)

ename,sal from emp where sal between 800 and 1500

select ename,sal from emp where sal>=800 and sal<=1500; (取出800和1500之间的数)

ename,sal,comm from emp where comm is null (选出其中的空值)

select enmae,sal,comm from emp where comm is not null(选出其中的非空值)

ename,sal,comm from emp where sal in (800,1500,2000);取出这3者之中的

select ename,sal,comm from emp where ename in('simth');

ename,sal,hiredate from emp where hiredata>'3-04月-81';宣传符合条件的日期

ename,sal,from emp where sal>1000 or deptno=10; 找出工资薪水大于1000或者

部门号等于10的员工

ename,sal from emp where sal not in(500,1000); 查找薪水不在500到1000的员

工姓名和月薪

ename,sal from emp where ename like '%ALL%';

select ename,sal from emp where ename like '_%A%'; 查找姓名中含有ALL的客户

信息,一个横线代表一个通配符

ename,sal from emp where ename like '_%$%%' escape '$'; 自己指定转易字符

select ename,sal from emp where ename like '_%%%'; 查找中间含有%相匹配

的客户信息,运用转易字符

* from dept order by deptno 对表中元素按部门号排序

select *from dept order by deptno desc 默认为升序,可以用desc

按降序

ename,sal from emp where sal <>1000 order by sal desc 按照查询条件来查询,并排

序(asc升序排列)

ename,sal*12 from emp where ename not like '_%A%' and sal>800 order by sal desc

lower(ename) from emp 将ename都转化为小写 lower是函数能将字母转化为小

ename from emp where lower(ename) like '_%a%'; 找出ename 中所有的含有a的字符

substr(ename,2,3) form emp 从第2个字符开始截取3个字符

chr(65) from dual; 将65转化为字符

ascii('A') from dual 将ACSII码转化为字符串

round(23.565)from dual 四舍五入

round(23,4565,2)from dual 四舍五入到第二位

to_char(sal,'$99.999.9999') from emp 按指定格式输出

select to_char(sal,'L99,999,9999') form emp L代表本地字符

hiredate from emp

select to_char(hiredate,'YYYY-MM-DD HH:MI:SS) from emp; 时间格式的显示

select to_char(sysdate,'YYYY-MM-DD HH:MI:ss) from dual; 十二小时制显示系

统时间

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS) from dual 二四小时制显示系

统时间

ename,hiredate from emp where hiredate > to_date('2005-2-3 12:32:23','YYYY-MM-DD

HH:MI:SS');

40 select sal from emp where sal>to_number('$1,250.00','$9,999.99'); 取出比它大的一切字符串

(把特定格式的数字转化成字符)

41 select ename,sal+nvl(comm,0) from emp; 讲comm值为空的用0来替换,单行函数(以

一条记录为条件)一条对一条

Max(sal) from emp;

select Min(sal) from emp;

select avg(sal) from emp;

select sum(sal) from emp;

select count(*) from emp; 查看表中一共有多少条记录

select count(*) from emp where deptno=10; 查找部门10一共有多少人;

avg(sal),deptno from emp group by deptno; 按部门号进行分组

select deptno,job,max(sal) from emp group by job,deptno; 按工作和部门号进行分组;

ename from emp where sal=(select max(sal) from emp); 子查询,查找部门中薪水最高

的员工姓名

by 注意:出现在select列表中的字段,如果没有出现在组函数中必须出现在group by

子句中

avg(sal),deptno from emp group by deptno having avg(sal)>2000; 选出部门中平均

薪水大于2000的部门,

* from emp where sal>100 group by deptno having ..........

先取数据--过滤数据------分组----对分组限制-------排序

avg(sal) from emp where sal>2000 group by deptno having avg(sal)>1500 order by


发布者:admin,转转请注明出处:http://www.yc00.com/web/1712217255a2024668.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信