练习 s_emp s_dept 显示每个员工的id, first_name 和 对应的 部门名(name) select e.id,first_name,name from s_emp e,s_dept d where e.dept_id=d.id; 公司为了业务发展 需要抽调一部分人出来 这些人将离开原来的部门 update s_emp set dept_id = null where id < 3; commit; 显示每个员工的id, first_name 和 对应的 部门名(name) 没有部门编号的员工也要显示 select e.id,first_name,name from s_emp e,s_dept d where e.dept_id=d.id(+);
练习 s_dept s_region 显示每个部门的名字 和 对应的地区的名字 select d.id, d.name,r.name from s_dept d,s_region r where d.region_id = r.id; 公司业务扩大了 增加了一些新的部门 insert into s_dept values(100,'test100',NULL); insert into s_dept values(101,'test101',NULL); commit; 显示每个部门的名字 和 对应的地区的名字 没有地区编号的部门也要显示 select d.id, d.name,r.name from s_dept d,s_region r where d.region_id = r.id(+); 非等值连接的外连接 salgrade s_emp 列出每个员工的 id salary 和 salary 对应的工资级别 select id,salary,grade from s_emp,salgrade where salary between losal and hisal; 把 id = 25 和 id=24 的这两个人的工资 改成 12345 update s_emp set salary=12345 where id >= 24; commit; 列出每个员工的 id salary 和 salary 对应的工资级别 超出统计范围的员工也要显示 select id,salary,grade from s_emp,salgrade where salary between losal(+) and hisal(+);