Oracle数据库基本查询语句
Posted loyer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库基本查询语句相关的知识,希望对你有一定的参考价值。
--数据库连接 --普通用户连接:Conn scott/tiger --超级管理员连接:Conn "sys/sys as sysdba" --Disconnect; 断开连接 --DML 语句(数据操作语言)Insert、Update、Delete、Merge --DDL 语句(数据定义语言)Create、Alter、Drop、Truncate --DCL 语句(数据控制语言)Grant、Revoke --通配符 * select * from EMP; --where 条件 select empno,ename from emp where job = ‘MANAGER‘; --列出职位为MARTIN的员工的编号,姓名 --基本运算 > + select * from emp where comm>sal; --找出奖金高于工资的员工 select sal+comm,ename from emp; --找出每个员工奖金和工资的总和 --关系运算符 or and select * from emp where (deptno=10 and job=‘MANAGER‘) or (deptno=20 and job=‘CLERK‘); --找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK) -- in select * from emp where deptno=10 and job not in(‘MANAGER‘,‘CLERK‘) and sal>=2000; --找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员 -- null 和 not null select distinct job from emp where comm is not null and comm>0; --找出有奖金的员工的不同工作 --order by 排序 select ename from emp order by hiredate; --显示雇员姓名,根据其服务年限,将最老的雇员排在前面 select ename from emp order by hiredate desc; --desc 从高到低 --upper 字母全部大写 select upper(ename) from emp; select * from emp where ename=upper(‘smith‘); --lower 字母全部小写 select lower(ename) from emp; select * from emp; --initcap 首字母大写 select initcap(ename) from emp; --concat 合并多个数组 select concat (ename,job) from emp; --substr 截取字符串长度 --substr(String,start,length) --string 指定要截取的字符串 --start 必须,指定在字符串的何处开始 正数从指定位置开始 复位从尾数开始 零从第一个字符开始 --length 可选,指定要截取的字符串长度,默认时时结束之前的全部字符 select ename, substr (ename,-3), --从倒数第三个位置开始,截取之后的字符 substr (ename,-3,2), --从倒数第三个位置开始,截取之后的两个长度的字符 substr (ename,length(‘ename‘)-3), --设定一个五个长度的字符‘ename‘ (5-3)从第二个位置开始截取 substr (ename,length(‘ename‘)-3,2), --设定一个五个长度的字符‘ename‘ (5-3)从第二个位置开始截取2个字符长度 substr (ename,length(ename)-3), --从每个对象的字符串长度-3开始截取,截取之后的字符 substr (ename,length(ename)-3,2) --从每个对象的字符串长度-3开始截取,截取之后的两个长度的字符 from emp; --length 获取字符串长度 select length (ename) from emp; --replace 替换字符 将A换成C select replace (ename,‘A‘,‘C‘) from emp; --instr 查找里面某一个数据的位置 ’字符’区分大小写 select instr (ename,‘S‘)from emp; --lpad 左侧填充 select ename, lpad (ename,5,‘*‘), --从左侧开始 用‘*‘将字符长度填充够5个长度 lpad (ename,5,‘网盘‘) --不能识别汉语 from emp; --rpad 右侧填充 select rpad (ename,5,‘*‘) from emp; --从右侧开始 用‘*‘将字符长度填充够5个长度 --trim 过滤 过滤收尾空格 select trim (‘ loyer ‘) from emp; --round 四舍五入 select round (sal,-2) from emp; --四舍五入小数点前面的第二位以后的数 select round (sal,2) from emp; --四舍五入小数点后面的第一位以后的数 --trunc 将数字截尾取整(并非四舍五入) select trunc (sal,-2) from emp; --从小数点前面的第二位开始截断 select trunc (sal,2) from emp; --从小数点后面的第二位开始截断 --mod 取余 select mod (sal,300) from emp; --months_between 两个日期相差的月数 sysdate代表系统时间 hiredate入职时间 select hiredate from emp; select hiredate, months_between (sysdate,hiredate) from emp; --add_moths 向指定日期你中加上若干月数 select add_months (sysdate,1) from emp; --next_day 指定周内里的一个日期 取值1-7 select next_day (sysdate,7) from emp; --last_day 本月的最后一天 select last_day (sysdate) from emp; --round日期四舍五入 24小时制 时间过半会进成第二天 select round (sysdate) from emp; --trunc日期截断 精确到小时会自动去掉 select trunc (sysdate) from emp; --to_char 是把日期或数字转换为字符串 select to_char(sysdate,‘yyyy‘) from dual; select to_char(sysdate,‘yyyy-mm-dd‘) from dual; select to_char(sal,‘L999,999,999‘) from emp; select to_char(sysdate,‘D‘) from dual; --to_number 将字符转化为数字 select to_number(sysdate)+to_number(13) from dual; --to_date 是把字符串转换为日期 Select to_date(‘20090210‘,‘yyyyMMdd‘) from dual; --insert into 插入信息 insert into bonus values (‘4‘,‘王六‘,‘普工‘,‘2000‘,‘100‘,sysdate); insert into bonus (ename,sal) values (‘李四‘,‘2000‘) --alter 添加列 alter table bonus add ID varchar(10) --drop 删除列 alter table bonus drop column TIMET --delete 删除属性 delete from bonus where ename like ‘%张三%‘ --update 更新修改 update bonus set 工资 = (select 工资 from bonus where ID=‘1‘) where ID =‘2‘ --更新2号员工的工资使其与1号员工工资相同 --拷贝一个和bonus相同属性的表 create table bonus as select * from bonus --删除表的所有属性 delete from bonus --defau 默认值 update bonus set 工资=default where 名字 =‘赵六‘ --设定主键 create table Vip (Vid number(5) primary key,Vname varchar2(10),Vday date);
以上是关于Oracle数据库基本查询语句的主要内容,如果未能解决你的问题,请参考以下文章
ORCLE-Select 语句执行顺序以及如何提高Oracle 基本查询效率