----------------------------------------------------------------
--找出EMP表
select * from EMP;
--选择在部门30中员工的所有信息
select * from emp where deptno = 30;
--列出职位为MARTIN的员工的编号,姓名
select empno,ename from emp where job = 'MANAGER';
--找出奖金高于工资的员工
select * from emp where comm>sal;
--找出每个员工奖金和工资的总和
select sal+comm,ename from emp;
--找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)
select * from emp where (deptno=10 and job='MANAGER') or (deptno=20 and job='CLERK');
--找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员
select * from emp where deptno=10 and job not in('MANAGER','CLERK') and sal>=2000;
--找出有奖金的员工的不同工作
select distinct job from emp where comm is not null and comm>0;
--找出没有奖金或者奖金低于500的员工
select * from emp where comm is null or comm<500;
--显示雇员姓名,根据其服务年限,将最老的雇员排在前面
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), --从下标零开始倒数第三个位置开始,截取之后的字符
substr (ename,length(ename)-3,2) --从下标从零开始倒数三个位置开始,截取之后的两个长度的字符
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,-1) from emp; --将倒数第一个位置的数值四舍五入
--trunc 将数字截尾取整
select trunc (sal) 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 emp;
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;
---------------------------------------------------------------------------
--找出每个月倒数第三天受雇的员工
select ename from emp where hiredate=last_day(hiredate)-3;
--找出 25 年前雇的员工
select ename from emp where hiredate<=add_months(sysdate,-25*12);
--所有员工名字前加上 Dear ,并且名字首字母大写
select 'Dear' || initcap(ename) from emp;
--找出姓名为5个字母的员工
select ename from emp where length(ename) =5;
--找出姓名中不带 R 这个字母的员工
select ename from emp where ename not like '%R%';
--显示所有员工的姓名的第一个字
select substr (ename,1,1) from emp;
--显示所有员工,按名字降序排列,若相同,则按工资升序排序
select sal,ename from emp;
select ename from emp order by ename desc
--找到 2 月份受雇的员
select * from emp where to_char(hiredate,'fmmm')='2';

Oracle数据库查询基本数据的更多相关文章

  1. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)

    先列上我的数据库表格: c_date(Date格式)     date_type(String格式) 2011-01-01                   0 2012-03-07         ...

  2. python操作oracle数据库-查询

    python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...

  3. C#连接Oracle数据库查询数据

    C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...

  4. 005.Oracle数据库 , 查询多字段连接合并,并添加文本内容

    /*Oracle数据库查询日期在两者之间*/ SELECT PKID , OCCUR_DATE, PKID || ' 曾经沧海难为水 ' ||TO_CHAR( OCCUR_DATE, ' yyyy/m ...

  5. 004.Oracle数据库 , 查询多字段连接合并

    /*Oracle数据库查询日期在两者之间*/ SELECT PKID , OCCUR_DATE, PKID || TO_CHAR( OCCUR_DATE, ' yyyy/mm/dd hh24:mi:s ...

  6. 001.Oracle数据库 , 查询日期在两者之间

    /*Oracle数据库查询日期在两者之间*/ SELECT OCCUR_DATE FROM LM_FAULT WHERE ( ( OCCUR_DATE >= to_date( '2017-05- ...

  7. oracle数据库查询常用语句

    1.查询SCOTT表中有多少表,并显示表的一些描述select * from all_tables WHERE owner='SCOTT' ; 2.查询oracle数据库版本select * from ...

  8. oracle数据库查询全系整理

    oracle数据库方面的知识到今天已经整理了12篇.当然,这不是终点,这只是一个开始,希望我写的文章可以帮助更多初学数据库的童鞋快速上手,如果你觉得文章对你有帮助,那么恭喜你已经入门了,数据库里面的知 ...

  9. oracle数据库查询和更新

    package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...

随机推荐

  1. WPF canvas设置旋转角度和偏移位置

    /// <summary> /// 设置旋转角度和位置 /// </summary> /// <param name="Angle">角度< ...

  2. python3 列表去除重复项保留原序

    l1 = ['a',1,'c','b',2,'b','c','d','a'] l2= sorted(set(l1),key=l1.index) print('l2:',l2) print('l1:', ...

  3. pyqt5.0 GraphicsView框架

    场景(The Scene) QGraphicsScene提供图形视图场景.该场景具有以下职责: 提供用于管理大量图元的快速界面(锅) 将事件传播到每个图元(把螃蟹烧熟了) 管理图元状态,例如选择和焦点 ...

  4. 部署一个基于python语言的web发布环境

    ---恢复内容开始--- 1) 一门面向对象的语言 2)拥有丰富的库 3)可移植性 4)免费.开源 5)简单易易学 可做软件开发.人工智能.web开发等等 部署流程: Cnetos7.5+Nginx+ ...

  5. javascript隐式原型

    上图是js原型关系图. javascript是一种基于对象的编程语言,但它与一般面向对象的编程语言不同,因为它没有class类的概念 什么是原型?? 我们每创建一个函数,它就会自带一个原型函数,这个原 ...

  6. 机器学习linux系统环境安装

    机器学习linux系统环境安装 安装镜像下载 可以自己去ubuntu官方网站按照提示下载amd64的desktop版本 或者考虑到国内镜像站点下载,如tuna,163, ali等 课程使用最新的17. ...

  7. 【转】vMAN 和 PVID

    vMAN关的情况下,如果用户的包内带有VLAN TAG,则以用户的TAG为准,如果用户的包内不带VLAN TAG,就打上PVID:vMAN开的情况下,无论用户的包内是否带有VLAN TAG,都强制在外 ...

  8. jquery中的 deferred之 deferred对象 (一)

    案例: var def=$.Deferred(); console.log(def);//答案见 图1 图1: deferred就是一个有这些方法的对象. 看源码分析: Deferred: funct ...

  9. git clone Failed to connect to 127.0.0.1 port 43213: Connection refused

    不知道为什么使用git clone 的时候报了上面的错误,后面发现是 127.0.0.1 port 43213的端口被代理占用了,可以这样查看: $ env|grep -i proxy 结果是: NO ...

  10. OKHttp使用详解

    一,OKHttp介绍 okhttp是一个第三方类库,用于android中请求网络. 这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和Leak ...