posts - 66,comments - 41,trackbacks - 0
          當(dāng)執(zhí)行Select語(yǔ)句時(shí),DBMS的執(zhí)行步驟表示如下:

          (1)執(zhí)行FORM子句,根據(jù)FROM子句中的一個(gè)或多個(gè)表創(chuàng)建工作表。如果在FROM子句中有兩個(gè)或多個(gè)表,DBMS將對(duì)表進(jìn)行交叉連接,作為工作表。

          (2)如果有WHERE子句,DBMS將WHERE子句列出的搜索條件作用于步驟(1)生成的工作表。DBMS將保留那些滿足搜索條件的行,刪除那些不滿足搜索條件的行。

          (3)如果有GROUP BY子句,DBMS將步驟(2)生成的結(jié)果表中的行分成多個(gè)組,每個(gè)組所有行的group_by_expression字段具有相同的值,DBMS將每組減少到單行,然后將其添加到新的結(jié)果表中。

          (4)如果有HAVING子句,DBMS將HAVING子句列出的搜索條件作用于步驟(3)生成的“組合”表中的每一行。DBMS將保留那些滿足搜索條件的行,刪除那些不滿足搜索條件的行。

          (5)將SELECT子句作用于結(jié)果表。刪除結(jié)果表中不包含在select_list中的列。如果SELECT子句包含DISTINCT關(guān)鍵字,DBMS將從結(jié)果中刪除重復(fù)的行。

          (6)如果有ORDER BY子句,按指定的排序規(guī)則對(duì)結(jié)果進(jìn)行排序。

          (7)對(duì)于交互式的SELECT語(yǔ)句,在屏幕上顯示結(jié)果,對(duì)于嵌入式SQL,使用游標(biāo)將結(jié)果傳遞給宿主程序中。

            以上就是SQL SELECT語(yǔ)句的基本執(zhí)行過(guò)程。


          MSN:
          posted on 2007-12-26 10:49 kylixlu 閱讀(180) 評(píng)論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 新竹市| 宁晋县| 教育| 梅河口市| 华坪县| 普兰店市| 依安县| 保山市| 大兴区| 成武县| 华坪县| 宝鸡市| 天气| 乌拉特后旗| 宜兰市| 彰化县| 铜梁县| 永平县| 松潘县| 上林县| 西平县| 霍林郭勒市| 启东市| 北川| 开阳县| 仙居县| 同德县| 化州市| 克什克腾旗| 清徐县| 延津县| 崇文区| 武夷山市| 类乌齐县| 呼玛县| 开封市| 铜鼓县| 汝阳县| 连州市| 汉源县| 楚雄市|