1
groud by
按照部門號饿这,給查詢出來的結(jié)果集進(jìn)行排序
過濾分組后的數(shù)據(jù),
過濾部門平均工資大于2000的工資總和
********相同的部門號deptno合并样漆,只顯示一個为障,然后空格一行,
*
1.笛卡爾集
連接條件是去除表中多余的部分放祟,
多表查詢就是從這張笛卡爾集表中選擇合適條件的結(jié)果鳍怨。
連接條件至少有n-1個,n代表表的個數(shù)跪妥,
不等值連接
between and ....小值在前鞋喇,大值在后。
上面查出來的結(jié)果沒有考慮部門為空部門的情況眉撵,所以侦香、落塑、、
要用到右外鏈接鄙皇。
這里當(dāng)部門中的人數(shù)為空時(shí)就用(+)=
當(dāng)取右邊的表時(shí)芜赌,就在左邊用(+)=
當(dāng)取左邊的表時(shí),就在右邊用(+)=
一個笛卡爾集伴逸,缠沈,,错蝴,洲愤,,沒有where條件的語句顷锰。
只有一張表的情況下才不會產(chǎn)生笛卡爾集柬赐。
leve樹的深度, 要查詢他的話官紫,就寫上他肛宋,
prior表時(shí)層次,上一層束世,
start with 表示從樹的那個節(jié)點(diǎn)開始酝陈, 根節(jié)點(diǎn)時(shí),可以用mgr is null這種表時(shí)方式毁涉,也可以按正常的表時(shí)方式 沉帮,
select后面
having后面
這里having 不能換成where,因?yàn)槠堆撸竺嬗蟹纸M函數(shù)穆壕,avg(sal),
from后面
from后面的結(jié)果集被當(dāng)成了一張表來處理其屏。
使用子查詢
使用多表查詢
當(dāng)涉及多表查詢的時(shí)候喇勋,首先要想到,笛卡爾集偎行,然后在想到茄蚯,連接條件。連接條件至少n-1
完整的語句
rownum為偽列睦优,是數(shù)據(jù)庫自動加上去的,顯示行號壮不,上面講到的lever也是偽列汗盘,
要顯示偽列,在查詢的過程中必須询一,顯式地把它寫出來隐孽,
默認(rèn)的順序癌椿,指對表沒有排序時(shí),得到的行號菱阵,
所以用下面的查詢是查不到正確的結(jié)果的
要正確查詢踢俄,必須要用到子查詢
得到正確結(jié)果。
相關(guān)子查詢
必須要定義 emp表的別名晴及,avgsal 為子查詢結(jié)果的別名
單行子查詢都办,必須返回單個結(jié)果,不能是集合
deptno虑稼,部門號
emp員工表
dept部門表
用多表查詢解決這個問題
and優(yōu)先級比or高琳钉,要打括號
等同于
等同于
當(dāng)mgr包含null空值時(shí),這個where為假蛛倦,
改正后