------------------------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. mysql设计-基本操作

    mysql 设计 1)服务器管理 2)数据库管理 3)表管理 4)字段管理 5)索引管理 操作 1)sql语句 2)单表操作 3)多表操作 索引 记录 字段 mysam innodb ibdata1 ...

  2. C++ #include " " 与 <>有什么区别?

    #include <> 和 #include "" 都会在实现定义的位置查找文件,并将其包含. 区别是若 #include "" 查找成功,则遮蔽 ...

  3. 8、C++指针和自由存储空间

    8.C++指针和自由存储空间 计算机程序在存储数据时必须跟踪3中基本属性. 信息存储在何处 存储的值为多少 存储信息是什么类型. 指针是 一个变量,其存储的是值得内存地址 对于常规变量的地址,只需要对 ...

  4. Java 实现发送邮件

    javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl). ...

  5. Qt 学习之路 2(60):使用 DOM 处理 XML

    Qt 学习之路 2(60):使用 DOM 处理 XML  豆子  2013年8月3日  Qt 学习之路 2  9条评论 DOM 是由 W3C 提出的一种处理 XML 文档的标准接口.Qt 实现了 DO ...

  6. Android Studio 常用应用

    1.在控制台的Logcat中输出测试语句 package com.example.lucky.helloworld; import android.support.v7.app.AppCompatAc ...

  7. C++_类继承4-访问控制protected

    public和private来控制对类成员的访问. 还存在另外一个访问类别,这种类别用关键字protected表示.protected和private相似,在类外只能用公有类成员来访问protecte ...

  8. POJ_1733 Parity game 【并查集+离散化】

    一.题面 POJ1733 二.分析 该题与之前做过的带权并查集的唯一区别就是数组开不下.所以需要用离散化的思想,只取那些有用的点来解决该问题. 离散化其实就是把这些所有用到的点收集后,去重,再排一下序 ...

  9. P2056 [ZJOI2007]捉迷藏

    传送门 如果没有修改显然就直接点分治 有修改那就动态点分治 动态点分治就是在点分树上维护一些东西,查询时也在点分树上查 因为点分树深度是$log$的所以可以保证时间复杂度 此题我们需要在点分树上维护 ...

  10. 获取url路径的正则

    package unit; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Util { // ...