查询每个部门最高工资员工的基本信息

首先需要说明的是Oracle的sql里面的in函数和exists函数以及not in函数和not exists函数的用法都非常相近,互相是可以替换的。

员工表(EMP):
查询每个部门最高工资员工的基本信息


产品信息表(PRODUCT_INFO):
查询每个部门最高工资员工的基本信息


--查询每个部门最高工资员工的基本信息
select t.*
from emp t
where not exists (select 1 from emp where deptno = t.deptno and sal > t.sal)



--查询每组pid里面价格price最高的基本信息
select t.* from product_info t where not exists (select 1 from product_info where pid = t.pid and price > t.price);

--查询每组pid里面价格price最低的基本信息
select t.* from product_info t where not exists (select 1 from product_info where pid = t.pid and price < t.price);

--查询每组pid里面价格price最高的基本信息
select t.* from product_info t where t.pid not in (select pid from product_info where pid = t.pid and price > t.price);

--查询每组pid里面价格price最低的基本信息
select t.* from product_info t where t.pid not in (select pid from product_info where pid = t.pid and price < t.price);

你可能感兴趣的:(oracle,sql)