SQL(Oracle)
http://blog.csdn.net/winter13292/article/details/7011377
SQL 对大小写不敏感!
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
eg:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500
通过 SQL,您如何向 "Persons" 表插入新的记录?
您的回答:INSERT VALUES ('Jimmy', 'Jackson') INTO Persons
正确答案:INSERT INTO Persons VALUES ('Jimmy', 'Jackson')
通过 SQL,您如何向 "Persons" 表中的 "LastName" 列插入 "Wilson" ?
您的回答:INSERT INTO Persons ('Wilson') INTO LastName
正确答案:INSERT INTO Persons (LastName) VALUES ('Wilson')
Varchar2(支持各国语言)
字符串连接符:|| (注意if 和字符串连接。字符串中有单引号,则用2个单引号。)
select distinct deptno from emp; 去掉重复值
select distinct deptno,job from emp; 去掉组合重复的
不等于<>
between 800 and 1500; 包含800 1500
is (not) null; 选空值
where sal (not)in (800,1500,2000);
like %通配符 _一个字符 \转义字符
like'%$%'escape '$'; 自己定义转义字符为$
order by ...... desc ,asc
e.g. select ename,sal,deptno from emp order by deptno asc,ename desc;
select ename,sal*12 annual_sal from empwhere ename not like'_A%' and sal>800
order by sal desc;
function
lower() upper()
substr(name,1,3) 第一个字符开始截,截3个字符
chr(65) : A ascii('A') :65
round(32.233) 四舍五入 round(23.611,1):23.6
select to_char(sal,'$99,999.9999') from emp; $2,222.0000
select to_char(sal,'l00000.0000') from emp; 0代表一位数字,该位置没有数字强制显示 02222.0000
日期转换:select to_char (hiredate,'YYYY-MM-DD HH:MI:SS') FROM emp;
select ename,hiredate from emp where hiredate >to_date('1981-2-20 12:34:56' ,'YYYY-MM-DD HH24:MI:SS'); (注意hiredate是其他的格式)
select sal from emp where sal > to_number('$1,250.00','$9,999.99');
NVL select ename,sal*12 +nvl(comm,0) from emp; 如果comm值为null 用0替换
组函数 max() min() avg() count(distinct 。。) sum()
group by groupby deptno,job; 根据两个的组合分组
Ename 有可能很多个 max 只能有一个输出 匹配不起来.出现在select 类表里的字段 没有出现在主函数里必须穿现在group by 里
Where 对单条语句进行过滤,WHERE 关键字无法与合计函数一起使用 ,Having对分组进行限制
总结执行顺序:
select avg (sal) from emp
where sal>1200
group by deptno
having avg(sal) >1500
order byavg(sal) desc;
等值连接
select ename,dname from emp join depton(emp.deptno=dept.deptno); //(using deptno 不推荐)
select ename,dname from emp,dept where emp. deptno = dept.deptno;(以前版本) 注意:现在的where 只写数据过滤条件
非等值连接
select ename, grade from emp e join salgrade s on (e.sal between s.losal and s.hisal);
三表查找
select ename, dname, grade from emp e
join dept d on(e.deptno = d.deptno)
join salgrade s on (e.sal between s.losaland s.hisal)
where ename not like '_A%';
select e1.ename,e2.ename from emp e1 leftjoin emp e2 on (e1.mgr =e2.empno);
左外连接把左边没有满足条件的数据也取出来(右 全 RIGHT FULL)
查找雇员的经理人是谁 自连接 为表起2个名 当成连个表用
select e1.ename,e2.ename from emp e1,emp e2where e1.mgr =e2.empno;
面试题 不用组函数max()求薪水的最大值 自连接
select sal from emp where sal not in(selectdistinct e1.sal from emp e1 join emp e2 on(e1.sal < e2.sal));
SQL(Oracle)的更多相关文章
- sql分组获取第一条记录(sql+oracle)
sql版本 select * from (select t.CloseDate,t.ExpiryDate,t.DataTypeLookupID,ROW_NUMBER() over(partition ...
- SQL常用指令集(Oracle)
1. Select rownum(oracle) top(mysql): 用于规定返回指定数目的值 Where roenum < number 2. Like 用于在where子句搜索指定模式 ...
- Java 批量插入数据(Oracle)
//批量添加20000条数据用时8秒. try { String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SI ...
- 异构平台同步(Mysql到Oracle)
Oracle GoldenGate学习之--异构平台同步(MySQL到Oracle) 如图所示:源端采用Mysql库,目标端采用Oracle库 一.OGG安装配置(源端) 1.OGG下载 https: ...
- 《高性能SQL调优精要与案例解析》一书谈主流关系库SQL调优(SQL TUNING或SQL优化)核心机制之——索引(index)
继<高性能SQL调优精要与案例解析>一书谈SQL调优(SQL TUNING或SQL优化),我们今天就谈谈各主流关系库中,占据SQL调优技术和工作半壁江山的.最重要的核心机制之一——索引(i ...
- 数据初始化:有则更新无则添加(mySql,oracle)
数据初始化:有则更新无则添加(mySql,oracle) 2018-02-01 1 Orcale ) ),address )); -- 执行两次,会报 [Err] ORA-00001: unique ...
- Fortify漏洞之Sql Injection(sql注入)
公司最近启用了Fortify扫描项目代码,报出较多的漏洞,安排了本人进行修复,近段时间将对修复的过程和一些修复的漏洞总结整理于此! 本篇先对Fortify做个简单的认识,同时总结一下sql注入的漏洞! ...
- 批量导出数据库表(oracle)
批量导出数据库表(oracle) 要求:导出sql文件,包含表结构和数据. 方案一 1:用cmd进入命令行输入:tnsping cmstar就是测试172.18.13.200是否连接成功2:导入与导出 ...
- 【HTML5】HTML5本地数据库(Web Sql Database)
Web Sql数据库简介 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库. Web SQL数据库的浏览器支持情况 Web SQL 数 ...
随机推荐
- 创建对象的最好方式&最好的继承机制(代码实例)
/* 创建对象的最好方式:混合的构造函数/原型方式, *用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法) */ function People(sname){ this.nam ...
- pentaho kettle svn
svn://source.pentaho.org/svnkettleroot/big data : svn://source.pentaho.org/svnkettleroot/archive/pen ...
- 解决每次打开office 2010显示正在配置的问题
解决每次打开office 2010显示正在配置的问题 OFFICE 2010 MSDN版出来后,下载安装 ,启动后发现每次打开都会出现“正在配置”的进度,删除重装亦不成功,对SETUP.EXE改名也不 ...
- css样式单位取整,去掉'px'
alert(parseInt($(".themes1").css("margin-left"), 10));
- Web通过JS调用客户端
代码实现==> <html> <head> <script language="javascript"> function Run(str ...
- [JS]鼠标事件穿透的问题
今天制作登陆窗口的效果时碰到的一个问题,如下: 标签结构如下: <div id="loginFrame"> <form class="loginFram ...
- ERP_Oracle Erp R12.2的新技术特点(概念)
2014-09-09 Created By BaoXinjian
- POJ 1269 Intersecting Lines(计算几何)
题意:给定4个点的坐标,前2个点是一条线,后2个点是另一条线,求这两条线的关系,如果相交,就输出交点. 题解:先判断是否共线,我用的是叉积的性质,用了2遍就可以判断4个点是否共线了,在用斜率判断是否平 ...
- codeforces 285 D. Permutation Sum 状压 dfs打表
题意: 如果有2个排列a,b,定义序列c为: c[i] = (a[i] + b[i] - 2) % n + 1 但是,明显c不一定是一个排列 现在,给出排列的长度n (1 <= n <= ...
- POJ 2342 &&HDU 1520 Anniversary party 树形DP 水题
一个公司的职员是分级制度的,所有员工刚好是一个树形结构,现在公司要举办一个聚会,邀请部分职员来参加. 要求: 1.为了聚会有趣,若邀请了一个职员,则该职员的直接上级(即父节点)和直接下级(即儿子节点) ...