ORACLE课件剖析.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE课件剖析

oracle复杂表查询 问题:显示各个员工的姓名,工资及工资的级别? 先看salgrade的表结构和记录 SQLselect * from salgrade; ??? GRADE???????? LOSAL????????? HISAL ?? ?? ??????? 1????????? 700?????????? 1200 ??????? 2????????? 1201????????? 1400 ??????? 3????????? 1401????????? 2000 ??????? 4????????? 2001????????? 3000 ??????? 5????????? 3001????????? 9999 SELECT e.ename, e.sal, s.grade FROM emp e, salgrade s WHERE e.sal BETWEEN s.losal AND s.hisal; oracle复杂表查询 扩展要求: 问题:显示雇员名,雇员工资及所在部门的名字,并按部门排序? SELECT e.ename, e.sal, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno ORDER by e.deptno; (注意:如果用group by,一定要把e.deptno放到查询列里面) 自连接 自连接是指在同一张表的连接查询 问题:显示某个员工的上级领导的姓名? 比如显示员工‘FORD’的上级 SELECT worker.ename, boss.ename FROM emp worker,emp boss WHERE worker.mgr = boss.empno AND worker.ename = FORD; oracle复杂表查询 子查询 什么是子查询 子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。 单行子查询 单行子查询是指只返回一行数据的子查询语句 请思考:显示与SMITH同部门的所有员工? 思路: 1 查询出SMITH的部门号 select deptno from emp WHERE ename = SMITH; 2 显示 SELECT * FROM emp WHERE deptno = (select deptno from emp WHERE ename = SMITH); 数据库在执行sql 是从左到右扫描的, 如果有括号的话,括号里面的先被优先执行。 oracle复杂表查询 多行子查询 多行子查询指返回多行数据的子查询 请思考:如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号 SELECT DISTINCT job FROM emp WHERE deptno = 10; SELECT * FROM emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno = 10); (注意:不能用job=..,因为等号=是一对一的) 用户管理的综合案例 概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。 为了给讲清楚用户的管理,这里我给大家举一个案例。 SQL conn xiaoming/m12; ERROR: ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied 警告: 您不再连接到 ORACLE。 SQL show user; USER 为 SQL conn system/p; 已连接。 SQL grant connect to xiaoming; 授权成功。 SQL conn xiaoming/m12; //后面的为密码分开来输入。 已连接。 用户管理的综合案例 注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。。 看图: 用户管理的综合案例 现在说下对象权限,现在要做这么件事情: * 希望xiaoming用户可以去查询emp表 * 希望xiaoming用户可以去查询scott的emp表 ? grant select on emp to xiaoming * 希望xiaoming用户可以去修改scott的emp表 ? grant update on emp to xiaoming * 希望xiaoming用户可以去修改/删除,查询,添加scott的

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档