------------------------1.简单的SQL查询--------------------------
select * from emp;
select empno,ename,job from emp;
select '编号是:'|| empno || ' 名称是:'|| ename from emp;
select distinct empno ,ename from emp;
select empno,ename,job,sal*100 income from emp;

------------------------2.限定查询--------------------------
select * from emp where sal>2000;
select * from emp where not(sal>2000);
select * from emp where mgr is not null;
select * from emp where sal between 0 and 1000;
select * from emp where sal in(800,900);
select * from emp where sal not in(800,900);
select * from emp where sal >1000;
select * from emp where sal <>100;
select * from emp where ename like 'SCO%';

------------------------3.排序------------------------------
select * from emp order by sal asc;--升序
select * from emp order by sal desc,Hiredate asc;--按sal进行降序,如果sal相同则安排hiredate的早晚排序

------------------------4.单行函数------------------------------
--1.>字符函数:专门处理字符

--大小写转换
select * from emp where ename=upper('allen');
select lower(ename) from emp;
--首字母大写。
select empno,initcap(ename) from emp;
select initcap('hello,world') from dual;
--字符串截取
select substr(ename,1,2) from emp;--截取前两位
select substr(ename,0,2) from emp--0/1开始都一样
select substr(ename,length(ename)-2) from emp;--字符最后两位
--字符长度
select length(ename) from emp;
--字符替换
select replace(ename,'S','5') from emp;

--2.>数值函数

--四舍五入
select round(9.536) from dual;--10
select round(9.536,2) from dual;--9.54

--截断小数点,直接截取,不做四舍五入
select trunc(9.536) from dual;--9
select trunc(9.536,2) from dual;--9.53

--取余
select mod(10,3) from dual;--1

---3>.日期函数
select sysdate from dual;
select sysdate-1 from dual;
select * from emp;
--查询10部入职的星期数
select empno,ename,round((sysdate-hiredate)/7)week from emp;
---3.1 MONTHS_BETWEEN() 求两个日期之间的月数。
select round(months_between(sysdate,hiredate)) from emp;

---3.2 ADD_MONTHS() 在指定日期,上加月数
select add_months(sysdate,1) from dual;

---3.3 NEXT_DAY() 下一个今天是什么日期
select next_day(sysdate,'星期六') from dual;--从今天开始,找下一个星期六

---3.4 LAST_DAY() 求出给定日期的最后一天
select last_day(sysdate) from dual;--当前月最后一天

---4>.转换函数

--4.1 to_char转换字符
select empno,ename,to_char(hiredate,'yyyy-mm-dd') d from emp;--2016-06-18
select empno,ename,to_char(hiredate,'fmyyyy-mm-dd') d from emp;--2016-6-18,fm去掉年月日前的0;
select empno,ename,to_char(sal,'999,90.00') from emp;--对数值格式化
select empno,ename,to_char(sal,'$999,90.00') from emp;
select empno,ename,to_char(sal,'L999,90.00') from emp;--对数值格式化,L表示,本地币种
--4.2 to_number 转换数值
select to_number('123') + to_number('123') from dual;--246
--4.3 to_date 转换日期
select to_date('2016-06-18','yyyy-mm-dd') d from dual;

---5>.通用函数
select ename,nvl(comm*2,0) from emp;--将空值变为指定内容(0).
select decode(3,1,'aa',2,'bb',3,'cc') from dual;--cc 类似if.. elseif.. else
select empno 编号,ename 姓名,decode(job,'CLERK,','业务员','SALESMAN','销售人员','ANALYST','分析员','MANAGER','经理','PRESIDENT','总裁')职位 from emp;

oracle学习篇二:常用SQL的更多相关文章

  1. Oracle学习(二)SQL高级--表数据相关

    SQL高级语句 top / limit / rownum / percent (前XXX条数据) --top(SQL Server / MS Access) select top 条数 from 表; ...

  2. oracle学习篇三:SQL查询

    select * from emp; --1.找出部门30的员工select * from emp where deptno = 30; --2.列出所有办事员(CLERK)的姓名,变化和部门编号se ...

  3. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

  4. MyBatis学习 之 二、SQL语句映射文件(1)resultMap

    目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实 ...

  5. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  6. Oracle学习DaySix(PL/SQL续)

    一.游标 在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现.游标是一个指向上下文的句柄( handle)或指针.通过游标,PL/SQL 可以控制上下文区和处理语句时上 下文区会发生些 ...

  7. Oracle学习(一)SQL基础

    一.认识SQL SQL是什么? SQL,结构化查询语言,全称是 Structured Query Language. SQL 是一门 ANSI(American National Standards ...

  8. oracle学习(二)pl/sql基础

    pl/sql组成:DDL DML DCL pl/sql特点: SQL&PL/SQL编译器集成PL/SQL,支持SQL所有范围的语法 支持CASE语句和表达式 继承和动态方法释放 类型进化.属性 ...

  9. oracle学习篇十二:索引

    索引: 查询User_indexes可以获取有关用户已创建的索引的详细信息. 查询User_ind_partitions可以获取有关用户已创建的分区索引的详细信息. 查询User_ind_column ...

随机推荐

  1. The server of Apache (二)——apache服务客户端验证

    一.确定网站名称.IP地址 地址为: 192.168.1.1   域名为: www.benet.com 二.配置可用的DNS域名服务或者修改本地hosts记录 ~] # vim /etc/hosts ...

  2. 3. C/C++笔试面试经典题目三

    64. 如何打印出当前源文件的文件名以及源文件的当前行号? [参考答案]cout << __FILE__ ; cout<<__LINE__ ; __FILE__和__LINE_ ...

  3. 安装 CentOs 系统 及 Python 及 Scrapy 框架

    1: 先安装Centos 系统: 为什么选择CentOs系统,而不选择Ubuntu ? 我在Ubuntu上尝试了三次安装 python 和 Scrapy ,结果都没成功,在运维老王的建议下 使用Cen ...

  4. 对IOC的理解

    我觉得 IOC 主要分两块去理解,  第一块 IOC是干什么的, 为什么需要IOC ?; 第二块,IOC 这么好,该怎么用? 一: 为什么需要IOC? 回答这个问题就要从ioc的含义入手:  IOC ...

  5. 跟我一起读postgresql源码(三)——Rewrite(查询重写模块)

    上一篇博文我们阅读了postgresql中查询分析模块的源码.查询分析模块对前台送来的命令进行词法分析.语法分析和语义分析后获得对应的查询树(Query).在获得查询树之后,程序开始对查询树进行查询重 ...

  6. 了解一个名词——GTD

    概念:就是Getting Things Done的缩写,翻译过来就是“把事情做完”,是一个管理时间的方法. 核心理念概括:就是必须记录下来要做的事,然后整理安排并使自己一一去执行. 五个核心原则是:收 ...

  7. 使用IDEA完成maven整合SSH框架时抛出Hibernate : Mapping (RESOURCE) not found

    切入主题,看看今天的错误是如何发生的: 首先这是我的项目路径,java 是 Sources Root , resources 是 Resources Root ,放了所需要的配置文件,其中 Hiber ...

  8. Apache https 证书配置...

    没啥好说的..赋值粘贴 !! Listen 443 SSLSessionCache "shmcb:/apache/logs/ssl_scache(512000)" SSLSessi ...

  9. python 并发之多进程实现

    一.multipricessing模块的介绍 python中的多线程无法利用多核优势,如果想要充分的使用多核CPU资源,在python中大部分情况下需要用多线程,python提供了multiproce ...

  10. 1、在linux服务器centos虚拟机搭建nginx网站

    1.搭建linux虚拟机 具体参考 http://jingyan.baidu.com/article/86112f135e584a273697876b.html (如何在WIN7下进行LINUX虚拟机 ...