26. 多表连接查询时, 若两个表有同名的列, 必须使用表的别名对列名进行引用, 否则出错!27. 查询出公司员工的 last_name, department_name, cityselect last_name, department_name, cityfrom departments d, employees e, locations lwhere d.department_id = e.department_id and d.location_id = l.location_id28. 查询出 last_name 为 'Chen' 的 manager 的信息. (员工的 manager_id 是某员工的 employee_id) 0). 例如: 老张的员工号为: "1001", 我的员工号为: "1002", 我的 manager_id 为 "1001" --- 我的 manager 是"老张" 1). 通过两条 sql 查询:select manager_idfrom employeeswhere lower(last_name) = 'chen' --返回的结果为 108select *from employeeswhere employee_id = 1082). 通过一条 sql 查询(自连接):select m.*from employees e, employees mwhere e.manager_id = m.employee_id and e.last_name = 'Chen'     3). 通过一条 sql 查询(子查询):   select *from employeeswhere employee_id = (select manager_id from employeeswhere last_name = 'Chen')    29. 查询每个员工的 last_name 和 GRADE_LEVEL(在 JOB_GRADES 表中). ---- 非等值连接select last_name, salary, grade_level, lowest_sal, highest_salfrom employees e, job_grades jwhere e.salary >= j.lowest_sal and e.salary <= j.highest_sal30. 左外连接和右外连接select last_name, e.department_id, department_namefrom employees e, departments dwhere e.department_id = d.department_id(+)select last_name, d.department_id, department_namefrom employees e, departments dwhere e.department_id(+) = d.department_id理解 "(+)" 的位置: 以左外连接为例, 因为左表需要返回更多的记录,右表就需要 "加上" 更多的记录, 所以在右表的链接条件上加上 "(+)"注意: 1). 两边都加上 "(+)" 符号, 会发生语法错误!2). 这种语法为 Oracle 所独有, 不能在其它数据库中使用.          31. SQL 99 连接 Employees 表和 Departments 表1).select *from employees join departmentsusing(department_id)缺点: 要求两个表中必须有一样的列名.2).select *from employees e join departments don e.department_id = d.department_id3).多表连接select e.last_name, d.department_name, l.cityfrom employees e join departments don e.department_id = d.department_idjoin locations lon d.location_id = l.location_id                32. SQL 99 的左外连接, 右外连接, 满外连接1).select last_name, department_namefrom employees e left outer join departments don e.department_id = d.department_id2).select last_name, department_namefrom employees e right join departments don e.department_id = d.department_id3).select last_name, department_namefrom employees e full join departments don e.department_id = d.department_id 
1.   显示所有员工的姓名,部门号和部门名称。
a)  select last_name,e.department_id,department_name
b)  from employees e,departments d
c)  where e.department_id = d.department_id(+)方法二:
select last_name,e.department_id,department_name
from employees e left outer join departments d
on e.department_id = d.department_id
2.  查询90号部门员工的job_id和90号部门的location_id
a)  select distinct job_id,location_id
b)  from employees e left outer join departments d
c)  on e.department_id = d.department_id
d)  where d.department_id = 90
3.  选择所有有奖金的员工的
last_name , department_name , location_id , city
select last_name,department_name,d.location_id,city
from employees e join departments d
on e.department_id = d.department_id
join locations l
on d.location_id = l.location_id
where e.commission_pct is not null
4.  选择city在Toronto工作的员工的
last_name , job_id , department_id , department_name
select last_name , job_id , e.department_id , department_name
from employees e ,departments d,locations l
where e.department_id = d.department_id and l.city = 'Toronto' and d.location_id = l.location_id
5.  选择指定员工的姓名,员工号,以及他的管理者的姓名和员工号,结果类似于下面的格式
employees   Emp#    manager Mgr#
kochhar 101 king    100
select e1.last_name "employees",e1.employee_id "Emp#",e2.last_name"Manger",e2.employee_id "Mgr#"
from employees e1,employees e2
where e1.manager_id = e2.employee_id(+)

oracle之单行函数之多表查询值之课后练习相关推荐

  1. oracle之单行函数之多表查询

    --多表查询 select employees.employee_id,employees.department_id,departments.department_name from departm ...

  2. 单行函数和多表查询 例题代码可复制

    查询和单行函数: 范围查询: 数字/日期 betteen 小 and 大 SELECT * FROM EMP WHERE SAL BETWEEN 6000 AND 10000; 模糊查询: LIKE ...

  3. Oracle(二)单行函数

    Oracle(二)单行函数 --单行函数 ---字符函数 select upper('yes') from dual;--YES select lower('YES') from dual;--yes ...

  4. VLOOKUP函数制作多表查询(学生信息表/员工工资表)

    VLOOKUP函数制作多表查询(学生信息表/员工工资表) 一.vlookup函数定义 VLOOKUP函数是Excel中的一个纵向查找函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导 ...

  5. MySQL数据库的查询:常用查询语句、MySQL函数、多表查询、视图表

    文章目录 一.构造数据 二.常用的查询语句 1.SELECT:字段表达式 2.FROM 子句 3.WHERE 子句:按指定条件过滤 4.GROUP BY:分组查询 5.HAVING 6.ORDER B ...

  6. 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引

    1.    oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的 ...

  7. ORACLE:单行函数

    目录 一.函数介绍 二.函数分类 2.1 字符函数 lower.upper.initcap concat.substr.length.instr.lpad.rpad.trim.replace 2.2 ...

  8. Oracle笔记(六) 多表查询、统计函数及分组查询、子查询

    本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一 ...

  9. Oracle笔记(六) 多表查询

    最近看了李兴华的oracle视频,这是网上别人做的笔记非常细致,分享给大家,第六篇 原创地址:http://www.cnblogs.com/mchina/archive/2012/09/07/2651 ...

最新文章

  1. Swift学习——Swift解释特定的基础(七)
  2. CoreData多线程
  3. 《零基础》MySQL 连接(四)
  4. NASM汇编语言与计算机系统09-8086实模式的内存分配图
  5. Eclipse 使用 SVN 插件后修改用户方法汇总
  6. JDBC实现增删改查功能
  7. python微信语音转发方法_微信怎么转发语音(想要转到别的群或者人这样做)
  8. 利用ExcelJS读取Excel文件
  9. 别再用QQ的破数字邮箱了,你其实还有注册姓名全拼微软邮箱的机会
  10. 什么是TOC约束理论以及TOC系统业务流程
  11. android平板 双清,什么是小米平板2刷机前的双清
  12. 全国计算机将文件属性隐藏,一键玩转隐藏属性文件
  13. 第55天:三战easy-dex
  14. Project2 分段切割路面,只取一个种子点
  15. 计量经济学及Stata应用 第七章 异方差
  16. Windows环境QtCharts安装配置说明(qt5.12.2+qtCharts5.12)
  17. 触摸屏GT9xx移植
  18. 国家对应下拉列表 相应的 js特效
  19. 移动互联网关键技术——终端、通信和应用技术
  20. (windows) 开机时出现“checking file system on C” 问题原因及解决方法

热门文章

  1. 昨天事情还是比较多,让我晚上加了会班
  2. GDOI2015 解题报告
  3. BROCADE 300和MD3200扩展柜FC SAN,截图
  4. 流程平台:子表控件(二) - 属性、事件、方法
  5. BarTender操作遇到OLE DB遇到了错误0x80004005”的问题
  6. MySQL中的字符集涵义及使用方法总结(二)
  7. dft对称性 matlab实验,数字信号处理实验指导书(审)
  8. Python爬虫入门四urllib库的高级用法
  9. c++类模板及参数类型的运行时判断
  10. 删除列表中满足一定条件的元素