基本查询:
1:一般查询速度过慢的话,建议使用索引。但不是索引越多越好,过多会影响数据的更新,插入
2:number<7,2>: 保留7位数字,两位是小数
3:dual的作用:
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:
1、查看当前用户,可以在 SQL Plus中执行下面语句 select user from dual;
2、用来调用系统函数
select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;–获得当前系统时间
select SYS_CONTEXT(‘USERENV’,’TERMINAL’) from dual;–获得主机名
select SYS_CONTEXT(‘USERENV’,’language’) from dual;–获得当前 locale
select dbms_random.random from dual;–获得一个随机数
3、得到序列的下一个值或当前值,用下面语句
select your_sequence.nextval from dual;–获得序列your_sequence的下一个值
select your_sequence.currval from dual;–获得序列your_sequence的当前值
4:distinct:去掉重复的数据
5:选出空值 用is null
6:常用函数:lower,substr round四舍五入, to_char格式转换 nvl去掉空值
7:多表关联一般使用 join进行关联,左连接:左边多余的数据会查询出来,右链接:右边多余的数据会查询出来,外连接(full join):左右两张表多余的数据都会被查询出来
8:取前几行,一般使用rownum,他只能和<=或者<一起使用
9:rollback,回退语句
10:创建序列的语句为:create sequence seq;
11:group by与having的联合使用
12:join。。on,,
13:case的使用: http://blog.csdn.net/hwq1987/article/details/6670300 一道面试题目
13:存储过程的几点说明:
1:declare:申明变量
2:begin。。end。。必须要有
3:%type:变量属性自动变化
4:游标的定义: declare
5:open:打开游标
6:fetch..into…..从游标中选取值,游标往下一移
7:notfound表示游标已经走到尽头
8:loop(while/for)…end loop: 三种循环
16-07-28
只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
参考:http://zhidao.baidu.com/link?url=Gxzz914f2LxnQcYbElqJ8_UXu8YMWbRJJo1AX_DOYe8s9tzY8aMwcrMpJ6e24SU8kMcCzNTlyrbdEiuNOEoFk_
特别重要:sql语句的执行顺序为:
1:select where groupby having orderby