(1) user_XXX:用户,例如:user_tables (2) dba_XXX: DBA专用
(3) all_XXX: 本用户建的,或者其它用户创建本用户可以查询的(需要其它用户的授权) (4) v$XXX: 动态数据字典,如:v$database, v$instance, v$session,这些数据字典在oracle不启动时也 能查询
***********************************************************************************/
一、定义表头与表尾 SQL> ttitle '表头' SQL> btitile '表尾' 失效:SQL> ttitle off SQL> btittle off 二、定义列名
语法:SQL> column 列名 heading 别名 // 别名不区分大小写 三、定义列格式:
SQL> column 列名 Format 格式
常用列格式:An : A为字符,n为最大字符宽度。 $99.9999.99 9.99eeee
例:SQL> Column sal format $99.9999.99 SQL> Column comm like Sal 四、分组命令:
语法:SQL> break on 列名 skip n 例:SQL> break on deptno skip 2
SQL> select * from emp order by deptno; 五、统计计算:
语法:SQL> compute 函数 of 统计列 on skip n //可以使用的函数有:sum, max, min, avg,count, var(
斜方差), std(标准差)
例:SQL> compute sum of sal on deptno 清除命令:SQL> clear compute SQL> clear break SQL> clear column 增加报表级统计:
SQL> break on deptno on REPORT SQL> compute sum of sal on report // 整个报表出一个结果,上面两行都要运行,那么整个报表会根据你的设置出一个sum of sal的总计结果 。 函数
一、日期格式转换函数:to_char(日期变量,'格式') // 格式要用单引号括起来 (1) 日期格式构成方法: 年 月 日 时 分 秒
yy mm dd hh(12小时制) mi ss
yyyy mon dy(星期) hh24(24小时制) month day
A. yy.mm.dd, yy/mm/dd, yy-mm-dd, yyyy.mm.dd, ... 加中文也可以,中文要用又引号括起来 SQL>select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; // dual是一个虚拟表,任何用户
都可以使用。
二、聚组函数:从一组中返回汇总信息
聚组函数有:Sum, count, count distinct, max, min, avg, stddev(标准差) 例:SQL>select min(sal), max(sal), avg(sal), sum(sal) form emp;
SQL> select ename, job, sal from emp where sal=(slect max(sal) from emp); SQL> select count(*) from emp; 复杂查询 一、连接查询:
问:Smith在哪里工作?
答:SQL> select loc from dept, emp where ename = 'SMITH' and emp.deptno = dept.deptno; 二、集合查询[请参考PowerPiont教程:SQL讲稿.ppt P29,30,31] 集合操作是将多个基表的查询结果作UNION运算。 交操作: Intersect 差操作:MINUS
三、子查询(Subqueries):
子查询是在where子句中包含的查询语句,是由系列简单构成的复杂查询。 问:谁与smith在同一部门工作?
答:SQL> select deptno from emp where ename = 'SMITH'; SQL> select ename from emp where deptno = 20;
将两个语句合起来:Select ename from emp where deptno = ( select deptno from emp where ename = 'SMITH');
四、同义词(Synonym): 1、创建私有同义词:
语法:SQL> create synonym 同义词名 for 代替项; user01:
SQL> grant select, upate on product to user02; user02:
SQL> Create synonym product for user01.product;
SQL> select * from product; // 这里的product即user01.product。 同义词数据字典:
SQL> select synonym_name, owner, table_name from all_synonyms; SQL> select synonym_name, table_name from user_synonyms;
2、DBA可以创建公共同义词(Public Synonym):公共同义词全体用户可以存取 语法:SQL> create public synonym 公共同义词名 for 代替项; SCOTT:
SQL> grant select on payment to public; SYSTEM:
SQL> create public synonym payment for scott.payment; 3. 删除同义词:
User:SQL> drop synonym 私有同义词名;
DBA: SQL> drop public synonym 公共同义词名