例:
--按部門統計各部門員工人數,要求顯示部門號,部門名,人數,並按照降序排列
select
d.deptno,count(e.empno),d.dname
from emp e,dept d
where e.deptno=d.deptno
group by d.deptno,d.dname
order by count(e.empno) desc
;
執行顯示:不是group by表示式
原因:select子語句後面出現的列名要麼出現在聚合函式中,要麼出現在group by後
正確方式:將d.dname放到group by後
--按部門統計各部門員工人數,要求顯示部門號,部門名,人數,並按照降序排列
select
d.deptno,count(e.empno)
from emp e,dept d
where e.deptno=d.deptno
group by d.deptno,d.dname
order by count(e.empno) desc
;
例:
--查詢工資比20號部門【任意any】乙個員工工資【低<】的員工資訊(多行子查詢,使用any關鍵字)
select sal from emp where deptno=20;
select *
from emp
where
sal < any
( select sal from emp where deptno=20
);
any:在oracle中代表小於最大的
all:在oracle中代表小於最小的
查詢工資比20號部門【所有all】員工【低<】的員工資訊(多行子查詢,使用all關鍵字)
select *
from emp
where
sal < all
( select sal from emp where deptno=20
);
例:
--查詢每個員工編號,姓名,部門名,工資等級
select
e.empno,e.ename,d.dname,s.grade
from emp e,salgrade s,dept d
where e.sal between s.losal and s.hisal,e.deptno=d.deptno
;
執行顯示:不是group by表示式
原因:where語句中連線條件不能使用「,」,應使用and
--查詢每個員工編號,姓名,部門名,工資等級
select
e.empno,e.ename,d.dname,s.grade
from emp e,salgrade s,dept d
where e.sal between s.losal and s.hisal and e.deptno=d.deptno
;
oracle的一些使用細節
查詢所有表名 第一種方法 select from user tables where table name like 表名 第二種方法 select from dba tables where table name like 表名 區別 第一種適用於一般使用者。第二種適應於dba使用者。更改表空間 ...
rosbag中的一些細節
將執行的ros軟體上的資料記錄到乙個.bag檔案,然後重放資料再產生相同的效果。1.記錄資料 建立乙個bag檔案 從乙個執行的ros系統中記錄topic的資料,這個topic資料會在乙個bag檔案中積累。roscore rosrun turtlesim turtlesim node rosrun t...
SeekBar Seekbar中的一些細節要點
1.修改seekbar中進度條的高度 android maxheight和android minheight 前者是用來指定進度條最大高度的 此高度並非seekbar整個控制項的高度 後者是用來指定最小高度,一般將這兩個屬性值設定成一致即可。2.滑塊和背景之間有截斷的問題 android thumb...