oracle数据库第2讲1001.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle数据库第2讲1001

* 内连接案例 select stu.id,exam.id,stu.name, exam.grade from stu inner join exam on stu.id=exam.id ?===?等价于 select stu.id,exam.id,stu.name, exam.grade from stu , exam where stu.id=exam.id * 完全外连接: select * from stu s full outer join exam e on s.id=e.id; * 1.左外联 select d1.dname,e1.* from dept d1 left join emp e1 on d1.deptno=e1.deptno 2. 右外联 select e1.*,d1.dname from emp e1 right join dept d1 on d1.deptno=e1.deptno; * * 插入空值 : insert into student(xh,xm,sex,birthday) values (A004,MARTIN,男,null); * * * * * * * * select sal*13+nvl(comm,0)*13 年工资,ename,comm from emp; select ename || is a || job from emp; * * * * * * * * * * * 第一个方法: select ename,sal,dept from emp where salany (select sal from emp where deptno=30); 第二种方法: Select ename,sal,deptno from emp where sal(select min(sal) from emp where deptno=30); * * * * * * * 1.create table mytable (id,name,sal,job,deptno) as select empno,ename,sal,job,deptno from emp; 2. insert into mytable (id,name,sal,job,deptno) select empno,ename,sal,job,deptno from emp; * * * * * oracle表复杂查询—子查询 ■ 什么是子查询 子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询 ■ 单行子查询 单行子查询是指只返回一行数据的子查询语句 请思考:如何显示与SMITH同一部门的所有员工? ■ 多行子查询 多行子查询指返回多行数据的子查询 请思考:如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号 主讲 李 珩 oracle 数据库 oracle表复杂查询—子查询 ■ 在多行子查询中使用all操作符 请思考:如何显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号 select ename,sal,deptno from emp where salall (select sal from emp where deptno=30); 扩展要求:大家想想还有没有别的查询方法. Select ename,sal,deptno from emp where sal(select max(sal) from emp where deptno=30); 主讲 李 珩 oracle 数据库 oracle表复杂查询—子查询 ■ 在多行子查询中使用any操作符 请思考:如何显示工资比部门30的任意一个员工的工资高的员工的姓名、工资和部门号 扩展要求: 大家想想还有没有别的查询方法. 主讲 李 珩 oracle 数据库 oracle表复杂查询—子查询 ■ 多列子查询 单行子查询是指子查询只返回单列、单行数据,多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查序则是指查询返回多个列数据的子查询语句 请思考如何查询与SMITH的部门和岗位完全相同的所有雇员 主讲 李 珩 oracle 数据库 oracle表复杂查询—子查询 ■ 在from子句中使用子查询 请思考:如何显示高于自己部门平均工资的员工的信息 这里要用到数据查询的小技巧,把一个子查询当作一个临时表使用 解法① select e1.*,e2.myavg from emp e1,(select avg(sal) myavg,deptno from emp group by deptno) e2 where e1.deptno=e2.deptno and e1.

文档评论(0)

kelly + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档