Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0

          如果查詢中包括聚合函數,而所選擇的列并不在聚合函數中, 那么這些列就必須在GROUP BY子句中。否則將會出現如下錯誤:ORA-00937: not a single-group group function


          不能在WHERE子句中使用聚合函數來限制行。否則將會出現如下錯誤:ORA-00934: group function is not allowed here


          GROUP BY可以不與HAVING一起使用,但HAVING必須與GROUP BY一起使用


          W-G-H的執行順序
          SELECT?type_id,?AVG(price)
          FROM?products
          WHERE?price<15
          GROUP?BY?type_id
          HAVING?AVG(price)>13;
          1. WHERE對返回的進行過濾
          2. GROUP BY對保留的行進行分組
          3. HAVING對分組進行過濾


          子查詢不能包含ORDER BY


          雙引號直接用:'The "Great" Gatsby' (表示字符串 The "Great" Gatsby )
          單引號要轉義:'O''Malley' (表示字符串 O'Malley )

          ?DML
          select column1,column2 from table
          insert into table(column1,column2) values('a','b')
          update table set column1='a' where column2='b'
          delete from table where column1='a'


          --外連接,使用叉積表達有歧義,不運行:查詢中包含不允許的外聯接請求。
          select * from a,b,c
          ??????? where a.a_id*=b.a_id
          ??????????? and b.b_id*=c.b_id

          --這樣就不存在歧義性了
          select * from a
          ??? LEFT OUTER JOIN b on (a.a_id=b.a_id)
          ??? LEFT OUTER JOIN c on (b.b_id=c.b_id)

          posted on 2006-08-23 08:36 Jcat 閱讀(413) 評論(1)  編輯  收藏 所屬分類: Database

          FeedBack:
          # re: SQL Miscellane
          2006-10-20 00:04 | 金剛吃香蕉
          霸霸,給你補充一小點哈:
          1.當使用group by后,select后面就不能跟*,必須跟具體的東西,如
          select name,age from XXX group by name,age;//這個是對的。
          select * from XXX group by name,age; //這個就是錯誤的。
          PS:即使一張表的全部內容就是只有name和age,也仍然要按上面的
          寫法。

          2.where和having都是一種條件選擇語句。having只配合group by使用。
          還有一個就是where與having的區別。where是先查后排,having是先排
          后查。  回復  更多評論
            
          主站蜘蛛池模板: 凤阳县| 屏东市| 凤山市| 二连浩特市| 岳普湖县| 高密市| 浪卡子县| 凤城市| 闽清县| 禹城市| 仙游县| 神农架林区| 兴文县| 合山市| 桂阳县| 余江县| 正阳县| 桦南县| 宁都县| 梅河口市| 宽城| 富平县| 始兴县| 浦北县| 巩义市| 柯坪县| 宁阳县| 甘德县| 铅山县| 特克斯县| 濮阳县| 三都| 嘉定区| 长顺县| 关岭| 临汾市| 阿拉善左旗| 醴陵市| 浦县| 彭州市| 苍梧县|