- 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)