• oracle--多表联合查询sql92版


    sql92学习
    				-查询员工姓名,工作,薪资,部门名称
    				sql的联合查询(多表查询)
    				--1、sql92标准
    				----笛卡尔积:一件事情的完成需要很多步骤,而不同的步骤有很多种方式,完成这件事情的所有方式称之为笛卡尔积
    					select * from emp--14
    					select * from dept--7
    					select * from emp,dept order by ename--7*14=98
    				等值链接,链接条件。等值链接的时候字段的名字可以不相同,但是字段的值要相同。
    					--查询员工姓名,工作,薪资,部门名称
    					select * from emp,dept where emp.deptno=dept.deptno--使用等值链接进行结果筛选
    					select ename,job,sal,dname from emp,dept where emp.deptno=dept.deptno;--使用等值链接查询指定字段数据
    					select ename,job,sal,emp.deptno,dname from emp,dept where emp.deptno=dept.deptno;--多表查询的时候,查看相同字段的值,必须声明所在表
    					select emp.ename,emp.job,emp.sal,emp.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno;--在查询指定字段值的时候,加上表名提高查询效率
    					select e.ename,e.job,e.sal,e.deptno,d.dname from emp e,dept d where e.deptno=d.deptno;--多表查询中使用别名进行表的区分
    					select e.ename,e.job,e.sal,e.deptno,d.dname from emp e,dept d where e.deptno=d.deptno order by deptno;--还可以使用order by 排序
    				非等值链接
    					---查询员工姓名,工作,工资,工资等级
    					select * from salgrade
    					select * from emp,salgrade order by ename
    					select * from emp,salgrade where sal>losal and sal<hisal
    					select e.ename,e.job,e.sal,s.grade from emp e,salgrade s where e.sal>s.losal and e.sal<s.hisal;
    				自连接:使用频率不是很高,因为自连接的条件要求不同信息共存在一张里,其实就两张相同的表的等值链接。
    					--查询员工姓名,工作,薪资,及上级领导姓名
    					select * from emp for update
    					create table temp as select * from emp
    					select * from emp e,temp t where e.mgr=t.empno
    

      外连接    没有(+)做为主要部分,有(+)会显示null值

    and e.sal< s.hisal
    select * from emp e,emp t where t.empno = e.mgr
    --左连接
    select * from emp e,dept d where e.deptno = d.deptno(+)
    --you连接
    select * from emp e, dept d where e.deptno(+) = d.deptno
    

      

  • 相关阅读:
    一个简单的Python字符串处理文件
    hexo + Github 搭建问题综述
    node scripts/install.js 停顿解决办法
    Mac下安装hexo Error: Cannot find module './build/Release/DTraceProviderBindings 解决
    Python学习札记(三十八) 面向对象编程 Object Oriented Program 9
    Python学习札记(三十七) 面向对象编程 Object Oriented Program 8 @property
    比较两个目录的文件是否相同
    python Polygon模块安装
    ls操作总结
    导入其他python文件或者python文件的函数
  • 原文地址:https://www.cnblogs.com/eadela/p/11464935.html
Copyright © 2020-2023  润新知