连接查询答案.docVIP

  • 32
  • 0
  • 约1.68千字
  • 约 3页
  • 2017-08-09 发布于重庆
  • 举报
连接查询答案.doc

测 试 显示所有员工的姓名,部门号和部门名称(dname)。 SELECT e.ename,e.deptno,d.dname FROM emp e,dept d WHERE e.deptno=d.deptno; 不重复地查询90号部门员工的job和90号部门的loc SELECT DISTINCT e.job, d.loc FROM emp e, dept d WHERE e.deptno = d.deptno AND e.deptno = 90; 选择所有有奖金的(奖金非空并且大于0)员工的ename , dname , loc , city(请参考dept表的结构,并根据需要创建表LOCATION,其中包含字段loc varchar2(30),city varchar2(20)) CREATE TABLE location(loc varchar2(30),city varchar2(20)); INSERT INTO location VALUES(beijing,北京); SELECT e.ename, d.dname, d.loc, l.city FROM emp e, dept d, location l WHERE e.deptno = d.deptno AND d.loc = l.loc AND m IS NOT NULL AND m 0 ; 选择在Toronto(一个city)工作的员工的ename , job , deptno , dname SELECT ename, e.job, e.deptno,d.dname FROM emp e JOIN dept d ON (e.deptno = d.deptno) JOIN location l ON (d.loc = l.loc) WHERE l.city = Toronto 选择所有员工的姓名,员工号,以及他的管理者的姓名和员工号,结果类似于下面的格式 employees Emp# manager Mgr# kochhar 101 king 100 kate 202 peter 201 SELECT e.ename Employees, e.empno EMP#, m.ename Manager, m.empno Mgr# FROM emp e join emp m ON (e.mgr = m.empno) 查询各部门员工姓名和他们的同事姓名,结果类似于下面的格式 Department_id Last_name colleague 20 Fay Brown 20 Fay Peter SELECT e.deptno Department_id, initcap(e.ename) Last_name,initcap(c.ename) colleague FROM emp e JOIN emp c ON (e.deptno = c.deptno) WHERE e.empno c.empno ORDER BY e.deptno, e.ename, c.ename ; 查询各个管理者的编号及其手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内 select e.mgr , min(e.sal) from emp e , emp m where e.mgr = m.empno and e.mgr is not null group by e.mgr having min(e.sal) 6000 ; 查询所有部门的名称,loc,员工数量和工资平均值 select d.dname ,loc , count(*) , avg(e.sal) from emp e , dept d where e.deptno = d.deptno group by d.dname , loc ;

文档评论(0)

1亿VIP精品文档

相关文档