oracle 视频笔记1(select)
下面是用scott用户测试的。
如果不知道当前用户是什么用户,可以输入: show user ,这样它就显示出当前用户是什么用户了.
如果想编辑已经输入到sqlplus中的代码,可以输入“ed”,然后回车就能弹出一个记事本,记事本里面有上一步输入的代码,修改代码并保存后关闭记事本,最后在sqlplus中输入“/”并击回车就执行了。
1.不等于号是:<>
如:select ename, sal from emp where deptno <> 10;
2.SQL中的字符串大小写不一样
如:select ename ,sal from emp where ename = 'CLASD';
与 select ename ,sal from emp where ename = 'clasd';
是不一样的.
3.between 与 >=和<=
如: select ename, sal from emp where sal between 800 and 1500; 的意思与
select ename, sal from emp where sal >= 800 and sal <= 1500; 一样
4.把空值选出来
如: select ename, sal, comm from emp where comm is null;
5.把非空值选出来
如: select ename, sal, comm from emp where comm is not null;
6.in的用法
如:select ename, sal, comm from emp where sal in (800, 1500, 2000); 意思是把sal等于800 或者1500或者2000的 ename、sal、comm 拿出来。
select ename, sal, comm from emp where sal not in (800, 1500, 2000); 意思是把sal不等
800或者1500或者2000的ename、sl、comm 拿出来。
7.日期:1981年2月20日以后的表示为: select ename, sal, hiredate from emp where hiredate > '20-2月-81'; 或:select ename, sal, hiredate from emp where hiredate > '20-2月-1981';
先转换格式再取日期与时间:select ename, hiredate from emp where hiredate > to_date('1981-2-20 12:34:56', 'YYYY-MM-DD HH24:MI:SS');
8.或者的连接用"or"
如:select ename, sal, comm from emp where sal>1000 or deptno=10;
9.模糊查找:like表示模糊查找,"%"表示零个或多个字母,"_"代表一个字母.
如:select ename from emp where ename like '%ALL%'; 表示查找符合ALL前面和后面有零个或多 个字母的ename;
select ename from emp where ename like '_A%';表示查找符合每二个字母是A的ename;
查找带有%的字符串,用转义字符"\",如:select ename from emp where ename like '%\%%';表示查找 带有"%"的字符串。也可以自己设置 转义字符,如:select ename from emp where ename like '%$%' escape '$'; 表
相关文档:
数据库版本:9.2.0.5
有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门,来完成操作。
具体操作过程如下:
SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004
Copyright (c) 1982, ......
1. 选用适合的Oracle优化器
Oracle的优化器共有3种:
a. RULE (基于规则)
b. COST (基于成本)
c. CHOOSE (选择性)
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 ......
2.根据Oracle 数据库scott 模式下的emp 表和dept 表,完成下列操作:
(1) 查询20号部门的所有员工信息;
(2) 查询所有工种为CLERK 的员工的员工号、员工名和部门号;
(3) 查询奖金COMM 高于工资SAL 的员工信息;
  ......
1. ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from ......
收集的几条在oracle中通过connect by prior来实现递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER ......