找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 680|回复: 2

[【原创资源】] oracle9i读书笔记1

[复制链接]
发表于 2006-1-9 17:07:39 | 显示全部楼层 |阅读模式
ORACLE 9i

Oracle9i数据库的默认表空间
CWMLITE    用于联机分析处理(   OLAP)
DRSYS      用于存放与工作空间设置有关的信息
EXAMPLE    实例表空间,存放实例信息
INDEX      索引表空间,存放数据库索引信息
SYSTEM      系统表空间,存放表空间名称,所含数据文件等管理信息
TEMP       临时表空间,存储临时表
TOOLS      工具表空间,存放数据库工具软件所需的数据对象
UNDOTBS     回滚表空间,存放数据库恢复信息
USERS       用户表空间,存放用户私有信息


强制启动:
必须在[SQL Plus]或者[SQLPlus Worksheet]中实现强制启动
1.   以”SYSDBA”身份登陆[SQL PLUS]
2.   在[SQL PLUS]中执行”startup force; ”语句,出现启动提示,证明数据库已经被装载和打开

SQL PLUS
SQL 语言中访问数据表的形式:  “用户名.数据表”

Select * from scott.emp
如果是通过scott 用户本身登陆的,则可以访问数据库简化成  select * from emp ,实质是一样的

显示数据库结构:
describe (desc) scot.emp

用SQL进行单表查询:
1.   查询所有记录
    select * from 数据表  *-------表中所有字段
2.   查询所有记录的某些字段
select empno,ename,job from scott.emp
将显示emp表的empno,ename,job字段
3 . 查询某些字段的不同记录
select distinct job from scott.emp
可以发现有相同的数据,为了查询有多少中不同的job  
4.  单条件查询
select empno,ename,job from scott.emp where job=’MANAGER’
查询的是job为MANAGER 的记录

select empno,ename salfrom scott.emp where sal<=2500
查询满足sal小于等于2500的记录
5.   组合条件的查询
select empno ,ename,job from scott.emp where job>=’CLERK’ and sal<=’2000’

select empno ,ename,job from scott.emp where job>=’CLERK’ or sal<=’2000’

select empno ,ename,job from scott.emp where not job>=’CLERK’

        not job =’CLERK’等价与job<>’CLERK’
6.   排序查询
select empno,ename,job from scott.emp where job<=’CLERK’ order by job asc,sal desc
order by 可以指定查询结果如何排序;asc代表升序排列;desc代表降序排列,多个字段之间通过逗号分割,order by 放在where之后.

7.   分组查询
是指将查询结果按照字段分组
select empno,ename,job,sal from scott.emp group by job,empno,ename,sal<=2000

select empno,ename,job,sal from scott.emp where sal<=2000 group by job,empno,ename

where检查每条记录是否符合条件,having是检查分组后的各组是否满足条件.having 语句只能配合group by 语句使用,没有group by 时不能用having,但可以使用where

8.   字段运算查询
select empno ,ename,sal,mgr,sal+mgr from scott.emp

9.   变换查询条件
select empno 编号,ename 姓名,job工作,sal 薪水 from scott.emp
可以将默认的字段名以设定的名称显示
回复

使用道具 举报

发表于 2006-1-9 21:31:44 | 显示全部楼层
oracle9i读书笔记2

用SQL进行多表查询

1.   无条件多表查询
是指将各表的的记录以”笛卡儿”积的方式组合起来
如scott.dept表共有4条记录,scott.emp 表共有14 条记录,其”笛卡儿”积将有4*14=56条记录
select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc
from scott.emp,scott.dept;

2.   等值多表查询
select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc
from scott.emp,scott.dep
wher scott.emp.deptno=scott.dept.deptno;
等值多表查询将按照等值的条件查询多个数据表中关联的数据.要求关联的多个数据表的某些字段具有相同的属性即有相同的数据类型,宽度和取值范围

3.   非等值多表查询
select emp.empno,emp..ename,emp.deptno,dept.dname,dept.loc
from scott.emp,scott.dept
where scott.emp.deptno!=scott.dept.deptno and scott.emp.deptno=10;


[楼 主] | Posted: 2006-01-09 17:08

同一主题不要分开发,谢谢合作
回复

使用道具 举报

dadaboom 该用户已被删除
发表于 2007-2-6 15:44:39 | 显示全部楼层
不错的东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-15 22:57 , Processed in 0.158208 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表