qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Select—沒你想的那么復雜

            Select語句的基本結構如下:

          Select  [All | Distinct]  select_list
          [Into [new_table-name]]
          Form {table_name | view_name}
          [,{table_name2 | view_name2}
          ….,{table_name10|view_name10}]
          [Where search_conditions]
          [Group By group_by_list]
          [Having search_conditions]
          [Order By order_list [ASC| DESC]]

            第一行語句中select_list表示需要檢查的字段的列表,字段名稱間用逗號分隔

            All 指明查詢結果中可以顯示值相同的列,且為系統默認 *

            Distinct 指明查詢結果中如有值相同的列,則只顯示其中的一列 唯一值

            第二行語句中Into子句用于把查詢結果存放到一個新建的表中 as 。。。。

            new_table-name 指明新建表的名稱

            第三行語句中Form 子句指定需要查詢的表注:只要Select中又要查詢的列就必須使用From子句

            table_name / view_name 指明Select 語句要用到的表,視圖等數據源,該列表中的數據表名和視圖名之間使用逗號分隔

            第四行語句中 Where子句是制定數據檢索的條件,以限制返回的數據行

            第五行語句中Group By 子句指定查詢結果的分組條件

            第六行語句中 Having 子句指定分組搜索條件,通常與Group By子句一起使用,它與Where語句類似只是其作用對象不同,Where子句作用于表和視圖,Having子句作用于組。

            最后一行語句Order By 子句指定查詢結果的排序方式,ASC是升序(系統默認),DESC 降序

            下面具體介紹一下Group By 子句

            ALL:表示返回所有可能的查詢結果組合,即使此組合中沒有任何滿足Where子句的數據,分組的統計列如果不滿足查詢條件,則將由null值構成其數據

            Cube:除了返回由Group By子句指定的列外,還返回按組統計的行,返回的結果按分組的第一個條件列排序顯示,以此類推。統計行包括了Group By子句指定的列的各種組合的數

            據統計

            Rollup:只返回第一個分組條件指定的列的統計行,改變列的順序會使返回的結果發生變化

            舉例:按所屬部門分類,找出工資大于來2000的所有員工

            下面兩個圖即分別是為Cube的返回結果和Rollup的返回結果

            如何提高Select語句的效率

            1、使用exists關鍵字檢查結果集:不要用count(*)來檢查結果集中是否包含行

            2、使用標準連接代替嵌套查詢:在執行嵌套查詢時,SQL Server將執行內部的子查詢,然后將查詢結果返回給外部查詢作為檢索的數據源,最后執行外部的主查詢。而在執行包含標準聯接的查詢時,SQL Server將要查詢的僅僅是一個查詢

            3、有效避免整表掃描:使用索引,除了缺失索引外,可能導致整表掃描的另一種情況是在like子句的匹配條件的開始使用了%,如果這樣將會調用整表掃描。

          posted on 2012-07-17 10:32 順其自然EVO 閱讀(222) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 常宁市| 英吉沙县| 仙游县| 重庆市| 邢台县| 邻水| 大渡口区| 庐江县| 惠来县| 黑水县| 安达市| 嵊泗县| 巴东县| 芦山县| 惠来县| 娄底市| 平武县| 六盘水市| 仁布县| 墨脱县| 昂仁县| 富源县| 通许县| 青州市| 麻阳| 简阳市| 化德县| 边坝县| 平潭县| 雅江县| 和平区| 新丰县| 互助| 团风县| 梓潼县| 兴仁县| 勐海县| 榆林市| 息烽县| 凭祥市| 宾阳县|