国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Oracle數據庫】高級子查詢

2019-11-08 20:56:13
字體:
來源:轉載
供稿:網友

嵌套子查詢

在通常的子查詢中,子查詢是以嵌套的方式寫在父查詢的FROM、WHERE、HAVING子句中,所以被稱為嵌套子查詢嵌套子查詢的執行過程:子查詢首先執行一次用來自子查詢的值確認或取消父查詢的候選行嵌套子查詢示例
-- 查詢工資大于所在部門平均工資的員工編號、員工姓名、工資SELECT empno,ename,salFROM emp e,(SELECT deptno,AVG(sal) avgsal,            FROM emp            GROUP BY deptno) dWHERE e.deptno=d.deptnoAND e.sal>d.avgsal

相關子查詢

相關子查詢指的是查詢中再查詢,通常是以一個查詢作為條件來供另一個查詢使用相關子查詢的執行過程:父查詢中的行每被處理一次,子查詢就執行一次取得父查詢的候選行用候選行被子查詢引用列的值執行子查詢用來自子查詢的值確認或取消候選行重復步驟1、2、3,直到父查詢中再無剩余的候選行相關子查詢示例
-- 查詢工資大于所在部門平均工資的員工編號、員工姓名、工資、部門編號SELECT empno,ename,sal,deptnoFROM emp outerWHERE sal>(SELECT AVG(sal)           FROM emp           WHERE deptno=outer.deptno)-- 查詢所有部門名稱和人數SELECT dname,(SELECT COUNT(empno)              FROM emp              WHERE deptno=d.deptno)FROM dept d

EXISTS和NOT EXISTS操作符

EXISTS判斷是否“存在”EXISTS具體操作過程:子查詢中如果有記錄找到,子查詢語句不會繼續執行,返回值為TRUE子查詢中如果到表的末尾頁沒有記錄找到,返回值為FALSEEXISTS子查詢并沒有確切記錄返回,只判斷是否有記錄存在,而且只要找到相關記錄,子查詢就不需要再執行,然后再進行下面的操作,極大的提高了語句的執行效率
-- 查詢哪些人是經理SELECT ename,job,sal,deptnoFROM emp eWHERE EXISTS (SELECT '1'              FROM emp              WHERE mgr=e.empno)“'1'”只是占位用,沒有實際意義NOT EXISTS與EXISTS正好相反,判斷子查詢是否沒有返回值:如果沒有返回值,表達式為真,如果找到一條返回值,則為假NOT EXISTS操作符只會返回TRUE或FALSE,不會返回空值,所以不需要考慮子查詢去除空值的問題
-- 查詢哪些人不是經理SELECT ename,job,sal,deptnoFROM emp eWHERE EXISTS (SELECT '1'              FROM emp              WHERE mgr=e.empno)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巧家县| 大理市| 成武县| 抚顺县| 临沭县| 岱山县| 七台河市| 阳东县| 克山县| 衡水市| 九龙城区| 家居| 栾川县| 弋阳县| 隆化县| 延寿县| 长汀县| 昌乐县| 平遥县| 天气| 云林县| 赤城县| 绥江县| 井研县| 孟津县| 涿州市| 宜宾县| 买车| 九江县| 钟山县| 榆树市| 高安市| 尉犁县| 张家港市| 桃园市| 交口县| 平昌县| 井陉县| 资中县| 岫岩| 日照市|