Oracle基本功能练习

--选取整个表的列
select * from emp;
--选取指定列的内容
select job from emp;
select ename,sal from emp;
--条件判断 
select sal from emp
  where sal=800;
--between and 方法
select * from emp
  where  sal between 2000 and 3000;
--嵌套的使用
select job from 
  (select * from emp
     where  sal between 2000 and 3000);
--单列数据的改变     
select sal+25 from emp;
--用like(模糊)概念  (-一个字符) (% 0个或多个字符)
 select job from emp
   where job like '%LE%';
--从in()里面的数据选出   
 select * from emp
   where comm in(300,500);
select sal,sal+25.00 AS saly from emp;
--字符串的连接   AS别名   将job换成ta
select empno,empno+25||'is a '||job AS ta from emp;
--删除重复行 关键词DISTINCT
 select DISTINCT comm from emp;
--用IS NULL 关键字判断为空的情况
 select * from emp
   where comm IS NULL;
 select comm from emp
   where comm IS NULL;
 
  

 

 

 

select sal,sal AS saly from emp;
--求某列的平均值
select * from emp;
--
select sal AS nb from emp;
--排序  默认升序 asc   就近原则
select * from emp  order by empno,sal;
--降序  desc
select * from emp  order by sal desc;
--concat 连接 ||
select concat('hello','nihao')  from dual;
select empno,empno+25||'  is a '||job AS ta from emp;
--把该字段全部变为小写
select lower(ename) from emp; 
--首字母大写
select initcap(ename) from emp;
--全部大写
select upper(ename) from emp;
--substr  选取指定位置  dual 虚表
select substr('hello',2,5)  from dual;
--instr 指定字母的位置
select instr('hkjhdkk','j') from dual;
--替换指定的字母
select replace('jlkdj','j','') from dual;
--trim 去掉前后空格
select trim('  derf   ')  from dual;
--取余 mod  ; round 四舍五入  round(222.325,2)  数字,保留位数

select mod(254,12) from dual;
--截断 trunc  负数表示整数部分
select trunc(5125.2545,-2) from dual;
--获取当前日期
select sysdate from dual;
select * from emp;
--日期可以相加减
select round((sysdate-hiredate)/7,1) from emp;
--选择日期在之间的数值 以降序排出
select * from emp
   where  hiredate  between '02-1月-81' and '02-1月-91' order by  hiredate desc;
 --用每个* 东西在前面补够8位    lpan  前面补; rpan 后面补
select lpad(ename,8,'*')ename  from emp;
--用现在的日期减去所选日期    日期只能减
select (sysdate-hiredate)/365 from emp;
--两个日期相差的月数
select months_between(hiredate,sysdate)  from emp;
--向指定日期加上若干个月
select add_months(hiredate,34) from emp;
--last_day 本月的最后一天
select last_day(hiredate) from emp;
--系统日期 四舍五入年 、月   不能日
select round(sysdate,'year') from dual;
select round(sysdate,'month') from dual;
--截取年、月     不能日   
select hiredate,trunc(hiredate,'year') from emp;
select hiredate,trunc(hiredate,'month') from emp;
select hiredate,add_months(hiredate,7) from emp;
--替换
select sal,replace(sal,'1','5')  from emp;
--next_day 指定日期的下一天   
select next_day(sysdate,'星期一') from dual;
--以固定格式输出
select to_char(sysdate,'yyyy') from dual; 
select to_char(sysdate,'yyyy-mm-dd') from dual; 
--输出数字以固定格式
select to_char(sal,'999,999,999') from emp; 
--返回日期     周天是1
select sysdate,to_char(sysdate,'d') from dual;
--返回数字
select to_number(12*12+25) from dual;
--以固定格式输出指定的日期
Select to_date('2015126','yyyyMMdd') from dual;
--返回表的行数(元组)  如果表没有数据则返回为null 而不是0
select count(*) from emp;
select count(*) from dept;
select * from emp;
--找出每月倒数第几天
select * from emp where last_day(hiredate)-2=hiredate;
--排序sal  降序
select * from emp order by (sal) desc;

  

posted on 2017-07-13 18:53  -薛凯-  阅读(162)  评论(0编辑  收藏  举报

导航