范例: 查询每个员工的编号,姓名,职位,工资,工资等级,部门名称●确定要使用的数据表|- emp表:员工的编号、姓名、职位、工资|- salgrade表:工资等级|- dept表:部门名称●确定已知的关联字段|- emp表与salgrade表: emp.sal BETWEEN salgrade.losal AND salgrade.hisal|- emp表与dept表: emp.deptno=dept.deptno一般情况下如果是多个消除笛卡尔积的条件都会使用AND连接-- 第一步:查询每个员工的编号,姓名,职位,工资
SELECT e.empno,e.ename,e.job,e.sal
FROM emp e;
-- 第二步:加入工资等级的查询   此时要设置WHERE 子句
SELECT e.empno,e.ename,e.job,e.sal,s.grade
FROM emp e,salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal;
-- 第三步:查询部门信息  增加dept表的查询   此时需要增加一个消除笛卡尔积的条件   与之前的条件使用AND连接
SELECT e.empno,e.ename,e.job,e.sal,s.grade,d.dname
FROM emp e,salgrade s,dept d
WHERE e.sal BETWEEN s.losal AND s.hisal
AND e.deptno=d.deptno;

转载于:https://www.cnblogs.com/zhangmenghui/p/10828842.html

Oracle PL/SQL块 多表查询(emp员工表、dept部门表、salgrade工资等级表)相关推荐

  1. 使用Oracle SQL Developer 编写运行 PL/SQL 块

    首先, 普及一下基本概念: PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言. PL/SQL 块对应的就是一小段代码了. 适用说明: 1. ...

  2. Oracle数据库PL/SQL块-存储函数和过程

    PL/SQL块 PL/SQL程序由三个块组成,即声明部分.执行部分.异常处理部分 结构如下: declare​ /*声明部分,在此声明变量,类型及游标*/begin​ /*执行部分,过程及sql语句, ...

  3. Oracle入门(十四.3)之创建PL / SQL块

    一.PL / SQL块结构 一个PL / SQL块由三部分组成. PL / SQL块结构部分 二.PL / SQL编译器 用高级编程语言(C,Java,PL / SQL等)编写的每个程序都必须经过检查 ...

  4. Oracle 练习P297 131026 PL/SQL块程序

    --1.编写一个PL/SQL块,输出所有员工的员工姓名,员工号.工资和部门号. begin for v_emp in (select * from emp) loop dbms_output.put( ...

  5. oracle 的遍历语法,oracle pl/sql之pl/sql语法

    一.pl/sql基础 pl/sql分匿名块和命名块. 命名块:存储过程,函数,触发器,包等. pl/sql语句块分3部分: (1)声明部分 (2)可执行部分 (3)异常处理部分 其中可执行部分是语句块 ...

  6. oracle pl/sql 基础

    PL/SQL笔记 PL/SQL块中只能直接嵌入SELECT,DML(INSERT,UPDATE,DELETE)以及事务控制语句(COMMIT,ROLLBACK,SAVEPOINT),而不能直接嵌入DD ...

  7. ORACLE PL/SQL编程之八: 把触发器说透

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  8. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

    [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...

  9. Oracle PL/SQL基础知识

    Oracle PL/SQL基础知识 过程(存储过程) 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out).通过在过程中使用输入参数,可以将数据传递到执行部分 ...

最新文章

  1. 金星可能存在生命?科学家发现大气中有磷化氢,剧毒气体或是生物代谢产物...
  2. 单引号、双引号 转义符
  3. node+express+mongDB实现简单登录注册
  4. 下载的VS2017工程编译出错的问题
  5. vmstat 命令的使用
  6. 模块开发卷宗(GB8567——88)
  7. 数据库连接出错,请检查连接字串"的多种问题解决办法
  8. maven项目使用jacoco插件检测代码覆盖率详细配置
  9. 一到软考网络工程师试题
  10. 微软加入反 Flash 阵营,新版 Edge 默认屏蔽 Flash
  11. 拓端tecdat|适用于NLP自然语言处理的Python:使用Facebook FastText库
  12. 灵悟礼品网上专卖店——第三阶段Sprint
  13. (三)云计算技术学习--OpenStack之KeyStone
  14. C语言使用scanf_s函数输入的正确姿势
  15. 数据库系统概念第六版 第六章练习题6.11
  16. c语言链表详解(超详细)
  17. Saas平台级架构:统一身份认证管理系统用户权限管理
  18. [统计学理论基础] 方差 协方差 标准差
  19. 云计算之概念——IaaS、SaaS、PaaS、Daas
  20. linux下无线网卡测试,Linux C程序如何检测WIFI无线USB网卡是否可用?

热门文章

  1. C#指南,重温基础,展望远方!(4)表达式
  2. 关于虚拟机第二块网卡eth1(仅主机模式)的配置问题
  3. vue 入门环境搭建
  4. 在Windows下不使用密码远程登陆Linux
  5. 怎样安装两个tomcat,怎样配置
  6. 数学图形(1.35)Kappa curve
  7. 记GMIC 2014
  8. Windows开发的内功和招式
  9. 表单PostGet两个长度限制问题的分析
  10. 基于java的数据结构学习——数组实现的栈以及简单应用C++实现