AntSoul

          它總是在行走,行走,永遠的行走…… 行走是它生存的恒久姿態和最佳造型。 它似乎有一雙不知疲倦的腳。 ———我說的是螞蟻。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            42 隨筆 :: 0 文章 :: 1 評論 :: 0 Trackbacks

          ??? 子查詢是指在其它的SQL語句中的SELECT語句,也叫嵌套查詢。但是,當在DDL語句中引用子查詢時,可以帶有ORDER BY子句;在WHERE子句,SET字句中不能帶有ORDER BY子句。subQuery具有以下的一些作用:
          ??? →? 同坐在INSERT或CREATE TABLE語句中使用subQuery,可以將原表數據插入到目標表中。

          ??? →? 通過在CAREATE VIEW或CREATE MATERIALIZED VIEW中使用subQuery,可以定義視圖或者實例化視圖所對應的SELECT語句。

          ??? →?? 通過在UPDATE語句中使用subQuery可以修改一列或者多列數據。

          ????→?? 在WHERE,HAVING,START WITH子句中可以使用subQuery,可以提供條件值。

          一般來說根據返回的結果不同,subQuery被分為單行subQuery,多行subQuery和多列subQuery。

          單行subQuery: 只返回一行數據的subQuery。例如:
          ?SELECT name,salary,deptno, FROM employee WHERE deptno =(SELECT deptno FROM employee WHERE name ='antsoul');


          多行subQuery:返回多行數據的subQuery。當在WHERE子句中使用的時候,必須使用多行比較符。(IN,ALL,ANY) ?例如:
          使用IN:
          SELECT name,job,salary,deptno FROM employee WHERE job IN (SELECT distinct job FROM employee WHERE deptno = 10);

          使用ALL:
          SELECT name,salary,deptno FROM employee WHERE salary > ALL(SELECT salary? FROM employee WHERE deptno = 30);

          使用ANY:
          SELECT name,salary,deptno FORM employee WHERE salary >ANY(SELECT salary FOMR employee WHERE deptno =30);

          多列subQuery:當多列subQuery在WHERE子句中使用時候,必須運用多行比較符(IN,ALL,ANY)。例如:
          顯示與antsoul部門和崗位完全相同的職員。
          SELECT name,job,salary,deptno FROM employee WHERE (deptno,job) = (SELECT deptno,job FORM employee WHERE name ='antsoul');

          相關subQuery: 需要引用主查詢表列的子查詢語句,相關子查詢是通過關鍵字EXISTS來實現的。例如:
          顯示工作在“ShangHai ” 的所有職員。
          SELECT name,job FORM employee WHERE EXISTS(SELECT 1 FROM dept WHERE deptno = emp.deptno AND dept.loc = 'ShangHai');

          posted on 2007-03-07 17:39 yok 閱讀(588) 評論(0)  編輯  收藏 所屬分類: DataBase

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 大兴区| 白城市| 临夏市| 昌邑市| 称多县| 兰考县| 东兰县| 昌吉市| 嘉禾县| 西充县| 玉屏| 沁水县| 大田县| 南阳市| 乐业县| 蒲江县| 会理县| 大关县| 拜城县| 乃东县| 错那县| 灵宝市| 长海县| 双辽市| 广河县| 钟祥市| 兴化市| 砚山县| 舞阳县| 泾源县| 东平县| 天津市| 凤山县| 安国市| 义马市| 康马县| 香港 | 南昌县| 绵竹市| 定襄县| 金山区|