二维表的操作(练习)

--1.列出所有雇员的姓名及其直接上级的姓名
  select e1.ename,e2.ename from emp e1
  inner join emp e2
  on e1.mgr=e2.empno
--2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门;
  select * from emp e
  right join dept d
  on e.deptno=d.deptno
--3.显示所有部门在"洛阳"(dept表 loc字段)的员工姓名
  select * from emp e
  inner join dept d
  on e.deptno=d.deptno
  inner join city c
  on d.loc=c.cid
  where c.cname='洛阳'
--4.显示员工"WARD"的姓名,部门名称
select e.ename,d.dname from emp e
inner join dept  d
on e.deptno=d.deptno
where e.ename='WARD'
--5.显示员工姓名,部门名称,工资,工资级别(salgrade表 grade字段),要求工资级别大于4级
select * from emp e 
inner join dept d
on e.deptno=d.deptno
inner join salgrade s
on e.sal> =s.losal and e.sal<=s.hisal
where s.grade>4
--6.显示员工"KING"和"FORD"管理的员工姓名及其经理姓名
  select * from emp e1
  full join emp e2
  on e1.mgr=e2.empno
  inner join emp e3
  on e1.empno=e3.mgr
  where e1.ename='KING' or e1.ename='FORD'
--7.显示员工名,参加工作时间,经理名,参加工作时间:参加工作时间比他的经理早
select e1.ename,e1.hiredate,e2.ename,e2.hiredate from emp e1
inner join emp e2
on e1.mgr=e2.empno
where e1.hiredate2000

 

你可能感兴趣的:(SQL语句,MySQL数据库)