Oracle 高級查詢1 關聯查詢 分組查詢
阿新 • • 發佈:2017-11-22
null 函數 定義 關聯 group 顯示 tinc 查詢 求平均值
高級查詢
1.關聯查詢
作用:可以跨越多表查詢
--查詢出員工的名字和他所在部門的的名字
語法:
select 列,列,列
from 表1 join 表2
on 表1外鍵=表2主鍵
2.外聯接
左外聯[left outer join]
以關聯的左邊為準,即使右邊沒有與之匹配的記錄,則左邊的記錄也要
出現在結果集中,右邊全部以NULL值顯示。
右外聯[right outer join]
以關聯的右邊為準,即使左邊沒有與之匹配的記錄,則右邊的記錄也要
出現在結果集中,左邊全部以NULL值顯示。
3分組查詢
定義:利用內置的分組函數來查詢
所謂分組,就是看待數據的“角度”不同。
也就是把某類值相同的看做一組。
語法:
select 列名,組函數(列名)...from 表名
where 條件
group by 列
having 字句
order by 列
分組函數:
SUM([distinct] 列|表達式|值) 求和
AVG([distinct] 列|表達式|值) 求平均值
MAX(列|表達式|值) 求最大值
MIN(列|表達式|值) 求最小值
COUNT([distinct] 列|*) 求個數(包含null)
註意1:只有出現在group by 後面的列[用來做為分組條件的列],才有資格
寫在SELECT的後面,除非使用組函數進行修飾。
註意2:having 和where 都是條件
區別:
WHERE 子句中是不能使用 組函數的,因為它在GROUP BY 之前。
但是,HAVING 子句中可以使用組函數,因為它在GROUP BY 之後。
Oracle 高級查詢1 關聯查詢 分組查詢