------------------------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. 【洛谷2416】泡芙(Tarjan+LCA)

    题目描述 火星猫经过一番努力终于到达了冥王星.他发现冥王星有 \(N\) 座城市,\(M\) 条无向边.火星猫准备出发去找冥王兔,他听说有若干泡芙掉落在一些边上,他准备采集一些去送给冥王兔.但是火星猫 ...

  2. Android蓝牙连接自动测试工具

    蓝牙连接自动测试工具 1.需求产生 开发不按着需求走都是耍流氓且浪费时间.此工具的需求产生是研发人员在开发产品时涉及到蓝牙驱动和安卓蓝牙两个东西.但是呢,蓝牙不太稳定,那么工作来了.就需要研发人员一边 ...

  3. 6. 重点来啦,pytest的各种装饰圈fixtures

    pytest中,fixture的目的是什么 为可靠的和可重复执行的测试提供固定的基线.(可以理解为测试的固定配置,使不同范围的测试都能够获得统一的配置.) fixture提供了区别于传统单元测试(se ...

  4. Vue-think脚手架

    准备重构的项目,原来的后台是thinkPHP写的,刚刚摸VUE,不知道里面数据调用原理,想先安装vuethink学习一下. 结果安装半天,npm run dev的时候报错,尝试了很多方法,各种重装,看 ...

  5. [DEBUG]-[org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:431)] 一直在创建sqlsession工厂原因

    今天在做开发项目的时候出现一直在控台输出创建sqlsessionfactory'这个代码, tomcat一直在控制台上输出这个内容无法停止下来,那么到底是什么原因呢, 我们可以在输出信息上看到有个wa ...

  6. Maven学习笔记(二)—— 整合SSH框架

    一.知识点准备 1.1 什么是依赖传递? 我们只添加一个struts2-core的依赖,结果会发现所有关于struts2的依赖都进来了. 因为我们的项目依赖struts2-core-2.3.24.ja ...

  7. get请求和post的请求的区别

    https://www.cnblogs.com/logsharing/p/8448446.html

  8. 【算法笔记】B1043 输出PATest

    1043 输出PATest (20 分) 给定一个长度不超过 10​4​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当 ...

  9. 【算法笔记】B1038 统计同成绩学生

    1038 统计同成绩学生 (20 分) 本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 10​5​​ 的正整数 N,即学生总人数.随后一行给 ...

  10. wzoi(栈模拟)

    链接:https://ac.nowcoder.com/acm/contest/332/I 来源:牛客网 题目描述 bleaves 最近在 wzoi 上面做题. wzoi 的题目有两种,一种是 noip ...