实际上所谓的多表查询指的就是从多张数据表中取出数据并且显示的一种操作。

select * from scott.emp,dept.emp 笛卡尔积存在的原因

实际:

SELECT * FROM scott.emp e, scott.dept d  WHERE e.deptno=d.deptno;

范例1:查询出每个雇员的编号,姓名、职位、基本工资、部门名称、部门位置。

·确定要使用的数据表:

-:emp表:编号,姓名、职位、基本工资、

-:detp表:部门名称、部门位置。

·确定已知的关联字段:

-:雇员与部门:emp.deptno=dept.deptno

第一步:查询出每个雇员的编号,姓名、职位、基本工资。

select  e.empno,e.ename,e.job,e,sal from emp e;

第二步:查询出每个雇员对应的部门信息;需要引入dept表(引入表的时候一定考虑有关联),deptno字段关联,所以利用where子句消除笛卡尔积。

select e.empno,e.ename,e.job,e.sal,d.dname,d.loc

from scott.emp e, scott.dept d

where e.deptno=d.deptno;

范例2:查询出每个雇员的编号,姓名、职位、基本工资、工资等级。

select e.empno,e.ename,e.job,e.sal,s.grade

from scott.emp e,scott.salgrade s

where e.sal  BETWEEN s.losal and s.hisal;

范例3:查询出每个雇员的编号,姓名、职位、基本工资、部门名称、工资等级。

确定所需要的数据表:

-:emp表:编号,姓名、职位、基本工资、

-:detp表:部门名称、

-:salgrade表:工资等级

确定已知的关联字段:

-:雇员与部门:emp.deptno-dept.deptno

-:雇员与工资等级;emp.sal BETWEEN salgrade.losal and salgrade.hisal

第一步:select e.empno,e.ename,e.job,e.sal

from emp e;

第二步:加入部门名称、增加一张表就增加一条消除笛卡尔积。

select e.empno,e.ename,e.job,e.sal,d.dname

from emp e,dept d

where e.deptno=d.deptno;

第三步:加入工资等级信息,与原始的

select e.empno,e.ename,e.job,e.sal,d.dname,s.grade

from emp e,dept d,salgrade s

where e.deptno=d.deptno and e.sal between s.losal and s.hisal;

原文:http://www.cnblogs.com/Juvenile/p/7625325.html

查询oracle原始表d,oracle 多表查询相关推荐

  1. oracle语句mysql数据库名称_查询oracle数据库中当前数据库所有表的名称

    SQL查询数据库中所有指定类型的字段名称和所在的表名 --查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 ...

  2. oracle遍历表做查询,oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)...

    语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于 ...

  3. Oracle创建用户并给用户授权查询指定表或视图的权限

    MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TBS_DN ...

  4. Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)

    显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...

  5. oracle查询表的id,oracle 查看所有用户及密码 实现Oracle查询用户所有表

    1.oracle 查看所有用户及密码 SQL> select username from dba_users; 2. 实现Oracle查询用户所有表 下面为您介绍的语句用于实现Oracle查询用 ...

  6. oracle查表占的物理空间,查询Oracle表实际物理使用大小

    Oracle中有两种含义的表大小 一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数: select segment_name, bytes from user_segme ...

  7. oracle查询多张表交集,Oracle中对两个数据表交集的查询-专栏,ORACLE

    oracle关系型管理系统是世界上流行的关系,它是一个极其强悍.灵活和复杂的系统,据说,在使用oracle时应有这样的观念,那就是在sql中近乎可以推动任何一种想法. 下面向你们介绍使用sql查两个o ...

  8. oracle 查询表里信息_查看ORACLE 数据库及表信息

    -- 查看ORACLE 数据库中本用户下的所有表SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户下的所有表select user,tab ...

  9. oracle查询表的意思,Oracle表的查询(一)

    表查询 关键字.字段.表名不加引号时不区分大小写 引号定义的内容区分大小写 运算中有null值时,结果为null *nvl(字段,赋值):如果字段值为null,则取后面一个值 *like 关键字:%表 ...

最新文章

  1. MFC/UDP通信函数详细解说
  2. python实现AES算法
  3. 微服务网关Gateway中Path路径过滤
  4. 浅谈c#垃圾回收机制(GC)
  5. 【渝粤教育】21秋期末考试建筑力学与结构10126k2111
  6. php乱码调试,NotePad++ 调试PHP代码中文显示乱码
  7. sonarqube使用maven进行代码分析
  8. 1. 制作软盘启动镜像.md
  9. 查理·芒格:投资与人生皆是自我修行-1
  10. android 自由落体,自由落体手游
  11. 数据库表,excel,cvs 联系人转vcf
  12. php降序怎写,PHP数组如何按键名实现降序排列
  13. macos系统升级到big sur以后safari浏览器崩溃怎么办?
  14. 十年前你绝对没有看懂的《大话西游》.
  15. 到底什么是5G LAN?
  16. 紫光物联linux登录账号,紫光物联智能家居系统功能6.6.pptx
  17. Centos7 常用的命令
  18. 路由器交换机:配置命令
  19. 自动驾驶(四十六)---------毫米波雷达简介
  20. Etherscan以太坊浏览器中Input Data解析方法

热门文章

  1. OpenGL4.0学习5.1--纹理(Targa图片贴图)
  2. Microsoft Office无法验证此应用程序的许可证怎么解决
  3. 微信公众号带场景参数的二维码生成与使用?
  4. Canny算子中的梯度求取及非最大值抑制(NMS)实现
  5. 江民KV2008离线包和安装包下载 2007-12-24
  6. RFC5766-TURN协议
  7. Python 打印的中英文字体如何对齐?
  8. 反斜杠,让您的csv文档字符不撞车;让“借”您csv数据的人叫苦不迭。
  9. 【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
  10. 双臂二指魔方机器人的制作(一)--总体设计