Oracle中的一些細節問題

2021-09-22 08:26:15 字數 1600 閱讀 2172

例:

--按部門統計各部門員工人數,要求顯示部門號,部門名,人數,並按照降序排列

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...