度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1074|回复: 1
打印 上一主题 下一主题

[分享] 多表查询

[复制链接]

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
跳转到指定楼层
楼主
发表于 2020-5-7 17:23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. --笛卡尔积查询.
  2. select * from emp,dept;--结果为64条,emp表有14条,dept表有4条
  3. --别名查询
  4. --改变查询后的结果显示的列名,在字段后面写要显示的列名(注意一定要用双引号括起来,oracle查询中之后这里用到双引号!)
  5. select ename "name" ,loc "地点" from emp e ,dept d where e.deptno = d.deptno;

  6. --查询出雇员的编号,姓名,部门的编号和名称,地址
  7. select * from emp;
  8. select * from dept;
  9. select e.empno  "雇员编号",
  10.        e.ename  "姓名",
  11.        e.deptno "部门的编号",
  12.        d.dname  "部门名称",
  13.        d.loc    "部门地址"from emp e,
  14.        dept   d where e.deptno = d.deptno;--当字段名唯一时,字段前的别名可以省略
  15. select empno  "雇员编号",
  16.       ename  "姓名",
  17.       e.deptno "部门的编号",--当两张表中都有该字段时,字段前的别名一定不能省略
  18.       dname  "部门名称",
  19.       loc    "部门地址"from emp e,
  20.       dept     d where e.deptno = d.deptno;

  21. --查询出每个员工的上级领导
  22. select e1.mgr,e1.ename , e2.empno, e2.ename
  23.   from emp e1, emp e2
  24. where e1.mgr = e2.empno ;

  25. --在上面的查询基础上查询该员工的部门名称
  26. select e1.mgr,e1.ename , e2.empno, e2.ename,d.dname
  27.   from emp e1, emp e2,dept d
  28. where e1.mgr = e2.empno and e1.deptno = d.deptno;

  29. --查出每个员工编号,姓名,部门名称,工资等级和他的上级领导的姓名,工资等级
  30. select * from salgrade;
  31. select * from emp;

  32. select e1.mgr,
  33.        e1.sal,
  34.        e1.ename,
  35.        decode(g1.grade,
  36.               1,
  37.               '一等',
  38.               2,
  39.               '二等',
  40.               3,
  41.               '三等',
  42.               4,
  43.               '四等',
  44.               5,
  45.               '五等') "员工工资等级",
  46.        e2.empno,
  47.        e2.sal,
  48.        e2.ename,
  49.        decode(g2.grade,
  50.               1,
  51.               '一等',
  52.               2,
  53.               '二等',
  54.               3,
  55.               '三等',
  56.               4,
  57.               '四等',
  58.               5,
  59.               '五等') "领导工资等级"
  60.   from emp      e1, --员工表
  61.        emp      e2, --领导表
  62.        salgrade g1, --员工工资等级
  63.        salgrade g2 --领导工资等级
  64. where e1.mgr = e2.empno
  65.    and e1.sal between g1.losal and g1.hisal
  66.    and e2.sal between g2.losal and g2.hisal;
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
沙发
 楼主| 发表于 2020-5-7 17:23:38 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-12-25 21:56 , Processed in 0.117777 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表