SELECTSQL語句中Where子句功能解析教育論文

[摘要]針對SELECT-SQL語句中Where子句存在多種使用方式的狀況,在分析了SELECT-SQL子句特點的基礎上,本文提出了根據不同應用要求,合理使用Where子句的觀點,結合多年的教學與計算機培訓的實際,在關係數據庫課程的教學與實驗方面取得了一定的效果。本文結合實例進行了解析,爲讀者合理使用SQL語句提供了參考意見

SELECTSQL語句中Where子句功能解析教育論文

[關鍵詞]SELECT-SQL Where子句 形式 合理使用

在SQL語句使用中,應用的核心是SELECT-SQL查詢。它主要用於從數據表中查詢出符合用戶指定條件的相關信息,即按用戶查詢要求可通過SELECT-SQL語句對指定表(單表或多表)進行選定列字段、選擇、排序、分組、保存等操作。在選擇中用戶往往要提出較多的要求,而在SELECT-SQL語句中能夠完成選擇任務主要由Where子句來承擔,由於實際應用時用戶面對的要求與數據是多樣化的,合理利用它們可對錶(單表或多表)中信息進行有效的選擇。若使用不當,會造成數據的遺漏或錯誤。下面就承擔選擇功能的子句在不同查詢方式時的作用作出一定的分析並以實例說明。

一、對單表查詢時Where子句主要應用形式

e FieldName Comparison Expression。作用是對錶中不符合子句匹配表達式(條件)的那些記錄進行篩選。常用匹配符號有=、>、<、<>、>=、==等。

適用情況:已知一個確定值,用它作爲選擇的單邊界值。

e FieldName [NOT] BETWEEN Start_Range AND End_Range。作用是對錶中符合子句指定字段的範圍值之記錄進行選擇。

適用情況:已知二個確定值,用它作爲選擇的上、下邊界值。

e FieldName [NOT] Like cExpression。作用是查找每個與字符串表達相匹配的字段值。其中在字符串表達試中可以使用百分號(%)和下劃線(_)通配符,百分號表示字符串中任意個字符,而下劃線僅表示字符串中任意一個字符。

適用情況:已知一個子字串值,用它作爲選擇的比較、包含值。

e FieldName [NOT] IN(Subquery)。記錄包含在查詢結果中的條件是:字段必須包含一個子查詢的返回值。

適用情況:邊界值未直接給出,需用子查詢來確定。

二、對多表查詢時Where子句的主要應用形式

在對多表進行查詢時,其Where子句的功能主要有兩種。

1.連接。對進行連接的兩表按連接字段值是否相等作出選擇(與連接方式有關)。

2.選擇。作用與單表中的應用相同。若既要起連接作用又同時起選擇作用,則表達式須用邏輯運算符AND進行連接。

3.基本格式:

Select 字段名1,字段名2,……..;

From Table1,Table2;

Where Table1.字段名1=Table2.字段名1 AND字段名 Comparison Expression即:在兩個被連接的表中,按連接條件是否成立(連接字段的值是否符合等值),進行第一次選擇;然後進行第二次選擇,去掉不符合條件的記錄,從而得到最終結果。

三、實例應用

以下查詢命令是基於關係:STUDENT(XH,XM,XB,CSRQ); SC(XH,KCH,CJ);KC(KCH,KCMC)。

1.單表查詢

(1)查“性別爲男的學生全部信息”

Select * FromStudent Where XB=“男”

查“成績大於等於85分的學生信息”

Select * From Sc Where CJ>=85表示爲一個含端點值的開區間。

(2)查 “成績大於等於85分並且小於等於95分的信息”

Select * From SC Where CJ BETWEEN 85 AND 95

該子句可用下面語句形式替換

Select * From SC Where CJ>=85 AND CJ<=95

也能表示爲含端點值的一個閉區間

(3)查“課程名稱中含有‘信息’的各門課程名稱”

Select Kcmc From Kc Where KcmcLike“%信息%”

%:爲全通配符,可代表任意長度、任意內容的字符。

(4)查“參加了考試的學生學號”

Select xh From Student Where xh IN (Select xh From Sc)

本例採用了嵌套查詢。

2.多表查詢

(1)查“參加了考試的、男生姓名”

Select From Student,Sc Where = AND xb=“男”

也可用以下形式表達:

Select From Student Join Sc On = Where xb=“男”

(2)查“參加了C語言考試的、男生姓名”

Select From Student,Sc,Kc Where = AND ;= AND xb=“男” AND kcmc=“C語言”

也可用以下形式表達:

Select From Student Join Sc Join Kc On =;

On = Where =“男” AND =“C語言”

四、結束語

在關係數據庫教學中學生們經常感覺到Where短語不好掌握,因爲它既有篩選的功能,也含有確定連接條件的功能;在單表查詢時還比較容易理解,當使用在二表或三表查詢時學生們就不太容易理解了。在實際使用中SELECT語句的作用很重要,尤其是在計算機等級考試中也有較大的分值點,掌握好其中的Where子句用法也是不可忽視的,本文給出的幾種常用的形式既是基礎,也是應用、考試要點。

參考文獻:

[1]王珊,薩師煊.數據庫系統概論(第四版)[M].高等教育出版社,2007.94.

[2]李鑫格式對共享庫支持的分析[J].山西廣播電視大學學報,2009,(1):52-54.

[3]王珊,薩師煊.數據庫系統概論(第四版)[M].高等教育出版社,2007.103.

[4]耿小芬中的ADO數據庫訪問技術[J].山西廣播電視大學學報,2009,(1):50-51.

[5]吳迪,曲蒙. Visual FoxPro 6.0中文命令手冊[M].清華大學出版社,2001.279.