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 閱讀(409) 評論(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是先排
          后查。  回復  更多評論
            
          主站蜘蛛池模板: 巴青县| 叙永县| 宁南县| 金湖县| 城步| 海宁市| 罗源县| 来宾市| 浏阳市| 通化市| 泉州市| 饶阳县| 加查县| 长泰县| 白银市| 荣昌县| 专栏| 宁远县| 沁水县| 尼木县| 娄烦县| 罗江县| 中宁县| 乐安县| 楚雄市| 遵化市| 宜黄县| 孝昌县| 武定县| 平凉市| 留坝县| 维西| 富平县| 合水县| 花莲市| 琼海市| 蕲春县| 洮南市| 宁夏| 综艺| 贵南县|