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 閱讀(593) 評論(0)  編輯  收藏 所屬分類: DataBase

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


          網站導航:
           
          主站蜘蛛池模板: 兴和县| 青田县| 错那县| 开江县| 甘肃省| 青州市| 鹿泉市| 云安县| 乌审旗| 吴江市| 新龙县| 玉门市| 新疆| 孝义市| 大石桥市| 岳阳市| 枣阳市| 凤凰县| 嫩江县| 兴化市| 台中市| 高要市| 平潭县| 隆德县| 红安县| 通化县| 崇信县| 佳木斯市| 景宁| 通许县| 塔城市| 林口县| 武冈市| 桃园市| 海伦市| 固镇县| 罗田县| 红安县| 于都县| 梁山县| 谷城县|