SQL
晚班的火车
目前从事,Oracle DB,EBS,EXADATA相关的技术支持工作。
展开
-
regexp_instr
SQL> select *from a98;ID ADDRESS---------- ---------------2 abc11 1abcSQL> select * from a982 where regexp_instr (address,'[^[:alpha:]]') = 1;ID ADDRESS---------- --------------------原创 2013-01-05 15:51:21 · 773 阅读 · 0 评论 -
ORDER BY
2类order by;1,单纯的 order by;2,union 中的 order by;SQL> SELECT 2 col1,'a' col2 FROM dual2 UNION3 SELECT 1,'x' FROM dual4 UNION5 SELECT 3,'z' FROM dual6 ORDER BY 3; // 这个“3” 表示的是以第三列排序,但是没原创 2013-01-05 16:04:11 · 1106 阅读 · 0 评论 -
UNION-MINUS-INTERSECT-UNIONALL
SQL> select * from a;A----------123SQL> select * from b;B----------14========================= UNION;列出所有,但重复项只列出一次=========================SQL> select * from a union select *原创 2013-01-05 12:50:57 · 350 阅读 · 0 评论 -
GROUPING
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。1、在ROLLUP中对单列使用GROUPING()SQL> select division_id,sum(salary)2 from em转载 2013-01-05 16:13:59 · 481 阅读 · 0 评论 -
having
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句 限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询 结果。在带有group by 子句的查询语句中,在select 列表中指定的列要么是group原创 2013-01-05 16:12:55 · 387 阅读 · 0 评论 -
MERGE
SQL> select *from orders_master;ORDER_ID ORDER_TOTAL---------- -----------1 10002 20003 30004SQL> select *from monthly_orders;ORDER_ID ORDER_TOTAL---------- -----------2 25003S原创 2013-01-05 16:08:14 · 380 阅读 · 0 评论 -
rownum
SQL> select *from sales_info;EMPLOYEE_ID WEEK SALES----------- ---------- ----------176 6 1000176 6 1000176 6 1000176 6 1000176 6 1000这样表,如何将 update 第三行 的week 列 的值从 6设为1SQL> update s原创 2013-01-05 15:50:28 · 421 阅读 · 0 评论 -
substr截取字符串
PurposeThe SUBSTR functions return a portion ofchar, beginning at characterposition,substring_length characters long.SUBSTR calculates lengths using characters as defined by the input charac原创 2013-01-05 15:49:09 · 619 阅读 · 0 评论 -
nvl
SQL> create table nvl (a int, b int);表已创建。SQL> insert into nvl values (1,1);已创建 1 行。SQL> insert into nvl values (2,null);已创建 1 行。SQL> insert into nvl values (3,3);已创建 1 行。SQL> commit;原创 2013-01-05 16:04:38 · 440 阅读 · 0 评论 -
使索引临时失效
我们经常在数据库上建索引或删除索引,由于索引对SQL的执行性能影响非常大,有可能变得很好,也有可能变得很差,在线下开发环境我们可以充分测试,对于创建或删除索引没什么问题。但是在线上环境,由于高并发的访问,如果我们删除了一个重要的大索引(GB以上),删除后才发现大量SQL性能变差,很快主机就LOAD飙升,系统无法运行了,由于索引已经删除,并且很大,要当场重建基本不可能,因为这个索引巨大,创建估计要几转载 2013-01-05 12:44:31 · 909 阅读 · 0 评论 -
DML-DDL-DQL-DCL
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1 数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT FROM WHERE 2 数据操纵语言数据操纵语言DML主要有三种形式:1) 插入:INSERT2) 更新:UPDATE3原创 2013-01-05 16:15:38 · 422 阅读 · 0 评论 -
foreign key
SQL> create table a (a int);表已创建。SQL> create table b (b int);表已创建。SQL> select * from a;A----------12SQL> select * from b;B----------12SQL> alter table a add constraint pk_a原创 2013-01-05 16:14:19 · 443 阅读 · 0 评论 -
nvl
SQL> create table nvl (a int, b int);表已创建。SQL> insert into nvl values (1,1);已创建 1 行。SQL> insert into nvl values (2,null);已创建 1 行。SQL> insert into nvl values (3,3);已创建 1 行。SQL> commit;原创 2013-01-05 16:07:52 · 506 阅读 · 0 评论 -
group by
-------------所用表-----------------SQL> select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------73原创 2013-01-05 16:13:30 · 351 阅读 · 0 评论