1. select d.DEPTNO,max(d.DNAME),round(avg(sal),2) from emp e,dept d where e.DEPTNO=d.DEPTNO group by d.deptno order by deptno;
2. select e.* from emp e where to_char(e.HIREDATE,'yyyy-mm-dd')>='2000-04-01' and to_char(e.HIREDATE,'yyyy-mm-dd')<='2000-09-31' order by deptno,ename;
3. select count(*) from emp e where e.ENAME like '%李%';
(4)、按部門統計各部門的下的員工數、通訊費總和、工資總和、通訊費最高的員工、工資貴高的員工;
select e.deptno,max(d.DNAME) dname,count(*) 員工數,sum(e.comm) 通訊費總和,sum(e.sal) 工資總和
from emp e,dept d where e.DEPTNO=d.DEPTNO group by e.DEPTNO
(5)、展示每個部門收入排名前三位的員工資訊(員工編號、員工姓名、部門名稱、收入總和),收入=工資+通訊費;
select EMPNO 員工編號,ENAME 員工姓名,DNAME 部門名稱,nvl(SAL,0)+nvl(comm,0) 收入總和 from
(select e.*,d.DNAME,row_number() over(partition by e.DEPTNO order by (nvl(e.SAL,0)+nvl(e.comm,0))) rm
from emp e,dept d
where e.DEPTNO=d.DEPTNO)
where rm<=3
(6)、展示所有沒有通訊費的員工資訊(顯示員工編號、員工姓名);
select e.EMPNO 員工編號,e.ENAME 員工姓名 from emp e where nvl(e.comm,0)=0
(7)、統計員工人數高于各部門平均人數的部門;
select d.DEPTNO,max(d.DNAME) dname,count(e.ename)
from emp e, dept d
where e.DEPTNO=d.DEPTNO
group by d.DEPTNO
having count(e.ename)>(select (count(distinct e1.ename)/count(distinct d1.deptno)) d_avg from emp e1,dept d1)
order by d.deptno
(8)、實作依據員工編號查詢出所有上級資訊以及所有下級資訊;
--所有員工的下級資訊
select sys_connect_by_path(ename,'/') tree,level from emp connect by prior empno= mgr;
--所有員工的上級資訊
select sys_connect_by_path(ename,'/') tree,level from emp start with ename='CLARK' connect by prior mgr= empno ;
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......