初學(xué)者的英語(yǔ)語(yǔ)句分析
初學(xué)者SQL語(yǔ)句介紹
1.用 Select 子句檢索記錄
Select 子句是每一個(gè)檢索數(shù)據(jù)的查詢(xún)核心。它告訴數(shù)據(jù)庫(kù)引擎返回什么字段。
Select 子句的常見(jiàn)形式是:
Select *
該子句的意思是“返回在所指定的記錄源中能找到的所有字段”。這種命令形式很方便,因?yàn)槟銦o(wú)需知道從表中檢索的字段名稱(chēng)。然而,檢索表中的所有列是低效的。因此,因該只檢索需要的字段,這樣可以大大的提高查詢(xún)的效率。
2.使用 From 子句指定記錄源
From 子句說(shuō)明的是查詢(xún)檢索記錄的記錄源;該記錄源可以是一個(gè)表或另一個(gè)存儲(chǔ)查詢(xún)。
你還能從多個(gè)表中檢索記錄,這在后面的章節(jié)中將介紹。
例子:
Select * From students 檢索students表中的所有記錄
3.用 Where 子句說(shuō)明條件
Where 子句告訴數(shù)據(jù)庫(kù)引擎根據(jù)所提供的一個(gè)或多個(gè)條件限定其檢索的記錄。條件是一個(gè)表達(dá)式,可具有真假兩種判斷。
例子:
Select * From students Where name="影子"
返回students中name字段為影子的列表,這次所返回的結(jié)果沒(méi)有特定順序,除非你使用了 Order By 子句。該子句將在后面的章節(jié)介紹。
注意:Where 子句中的文本字符串界限符是雙引號(hào),在VB中因改為單引號(hào),因?yàn)樵赩B中字符串的界定符是雙引號(hào)。
補(bǔ)充:
使用 And 和 Or 邏輯可以將兩個(gè)或更多的條件鏈接到一起以創(chuàng)建更高級(jí)的 Where 子句。
例子:
Select * From students Where name="影子" And number>100
返回name為影子number大于100的列表。
例子:
Select * From students Where name="影子" And (number>100 Or number<50)
返回name為影子,number大于100或者小于50的列表。
Where 子句中用到的操作符
操作符 功能
< 小于
<= 小于或等于
> 大于
>= 大于或等于
= 等于
<> 不等于
Between 在某個(gè)取值范圍內(nèi)
Like 匹配某個(gè)模式
In 包含在某個(gè)值列表中
SQL中的等于和不等于等操作符與VB中的意義和使用相同
例子:
(1).Between 操作符
Use cust
Select * From students
Where number Between 1 and 100
Between 操作符返回的是位于所說(shuō)明的界限之內(nèi)的所有記錄值。這個(gè)例子就返回 number 字段 1 到 100 之間的全部記錄。
(2). Like 操作符和通配符
Use cust
Select * From students
Where name Like "%影%"
Like 操作符把記錄匹配到你說(shuō)明的某個(gè)模式。這個(gè)例子是返回含“影”的任意字符串。
四種通配符的含義
通配符 描述
% 代表零個(gè)或者多個(gè)任意字符
_(下劃線(xiàn)) 代表一個(gè)任意字符
[] 指定范圍內(nèi)的任意單個(gè)字符
[^] 不在指定范圍內(nèi)的任意單個(gè)字符
全部示例子如下:
Like "BR%" 返回以"BR"開(kāi)始的任意字符串
Like "br%" 返回以"Br"開(kāi)始的任意字符串
Like "%een" 返回以"een"結(jié)束的任意字符串
Like "%en%" 返回包含"en"的任意字符串
Like "_en" 返回以"en"結(jié)束的三個(gè)字符串
Like "[CK]%" 返回以"C"或者"K"開(kāi)始的任意字符串
Like "[S-V]ing" 返回長(zhǎng)為四個(gè)字符的字符串,結(jié)尾是"ing",開(kāi)始是從S到V。
Like "M[^c]%" 返回以"M"開(kāi)始且第二個(gè)字符不是"c"的任意字符串。
4. 使用 Order By 對(duì)結(jié)果排序
Order By 子句告訴數(shù)據(jù)庫(kù)引擎對(duì)其檢索的記錄進(jìn)行排序?梢詫(duì)任何字段排序,或者對(duì)多個(gè)字段排序,并且可以以升序或隆序進(jìn)行排序。
在一個(gè)正式的 Select 查詢(xún)之后包含一個(gè) Order By 子句,后跟想排序的字段(可以有多個(gè))便可以說(shuō)明一個(gè)排序順序。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number
對(duì)返回的結(jié)果按 number 進(jìn)行排序。
以降序排序
如要以隆序排序,只需在排序的字段之后使用 Desc 關(guān)鍵字。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number Desc
5. 使用 Top 顯示某個(gè)范圍的第一個(gè)記錄或最后一個(gè)記錄。
使用 Top 關(guān)鍵字可以只顯示一個(gè)大記錄前面或后面的少數(shù)幾個(gè)記錄。在查詢(xún)中,Top 關(guān)鍵字與排序子句一起把結(jié)果集限制為少數(shù)幾個(gè)記錄或按某個(gè)百分比顯示整個(gè)結(jié)果記錄集合中的.一部分。
例子:
Select Top 3 * From students 返回 students 表中的前3條記錄
Select Top 10 Percent * From students 返回 students 表中前面的10%個(gè)記錄
Select Top 3 * From students Order By number desc 返回 students 表中 number 最大的(最后)的3條記錄
6. 用 As 對(duì)字段名進(jìn)行別名化
為什么在查詢(xún)中對(duì)字段命以別名,或重新命名,這樣做的原因有兩個(gè):
☆所涉及的表的字段名很長(zhǎng),想使字段在結(jié)果集中更易處理一些。
☆創(chuàng)建的查詢(xún)產(chǎn)生了某些計(jì)算或合計(jì)列,需要對(duì)之進(jìn)行命名。
不管是什么原因?qū)ψ侄蚊詣e名,在 SQL 中都可以容易地使用 As 子句做得。
例子:
Select number As 學(xué)號(hào) ,name As 姓名 From students
7. 合并查詢(xún)
合并查詢(xún)( Union Query )用于合并具有相同字段結(jié)構(gòu)的兩個(gè)表的內(nèi)容,如果想在一個(gè)結(jié)果集中顯示多個(gè)記錄源中的不相關(guān)的記錄時(shí),這十分有用。
例子:
Select *
From students
Union
Select *
From students1
該查詢(xún)結(jié)果集把 students 和 students1 中的記錄合并到一個(gè)結(jié)果中,其輸出就和原表歸檔之前一模一樣。
注意:缺省情況下,合并查詢(xún)不會(huì)返回重復(fù)記錄(如果記錄歸檔系統(tǒng)在把記錄拷到歸檔表中后不將相應(yīng)的記錄刪除,這時(shí)該功能就有用了),可以加上 All 關(guān)鍵字而讓合并查詢(xún)顯示重復(fù)記錄。
例子:
Select *
From students
Union All
Select *
From students1
該合并查詢(xún)顯示 students 表和 students1 表的內(nèi)容時(shí),沒(méi)有對(duì)重復(fù)記錄進(jìn)行處理
補(bǔ)充:
Union 運(yùn)算符允許把兩個(gè)或者多個(gè)查詢(xún)結(jié)果合并到一個(gè)查詢(xún)結(jié)果集中。如果比較 Union 和 Join 兩咱運(yùn)算符,那么 Union 運(yùn)算符增加行的數(shù)量,而 Join 運(yùn)算符增加列的數(shù)量。使用 Union 時(shí)應(yīng)該注意,兩個(gè)結(jié)果中的列的結(jié)構(gòu)必須匹配,數(shù)據(jù)類(lèi)型必須兼容等等。
Union 運(yùn)算符的語(yǔ)法形式如下:
Select select_list
From clause
Where clause
Group By clause
Having clause
Union [All]
Select select_list
From clause
Where clause
Group By clause
Having clause
Order By clause
Compute clause
對(duì)于 Union 運(yùn)算符,有下列幾點(diǎn)需要說(shuō)明:
·在默認(rèn)情況下,Union 運(yùn)算符刪除全部冗余行。如果使用All 選項(xiàng),那么冗余行不刪除。
·在 Union 語(yǔ)句中的全部 select_list 必須有相同數(shù)量的列、兼容的數(shù)據(jù)類(lèi)型并且按照同樣的順序出現(xiàn)。
·在結(jié)果集中,列名來(lái)自第一個(gè) Select 語(yǔ)句。
8.連接查詢(xún)
在實(shí)際使用過(guò)程中經(jīng)常需要同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數(shù)據(jù)。連接就是允許同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數(shù)據(jù),指定這些表中某個(gè)或者某些列作為連接條件。在 SQL Server 中,可以使用兩種連接語(yǔ)法形式,一種是 Ansi 連接語(yǔ)法形式,這是連接用在 From 子句中,另外一種是 SQL Server 連接語(yǔ)句形式,這是連接用在 Where 子句中。
Ansi 連接語(yǔ)法形式如下:
Select table_name.column_name,table_name.column_name,...
From {table_name [join_type] Join table_name On search_conditions}
Where [search_conditions]
在 Ansi 語(yǔ)法形式中,可以 Ansi 連接關(guān)鍵字來(lái)確定使用的連接形式。例如:
☆使用 Inner Join 關(guān)鍵字,結(jié)果集中僅包含滿(mǎn)足條件的行。
☆使用 Cross Join 關(guān)鍵字,結(jié)果集中包含兩個(gè)表中所有行的組合。
☆使用 Outer Join 關(guān)鍵字,結(jié)果集中既包含那些滿(mǎn)足條件的行,還包含那些其中某個(gè)表的全部行。
SQL Server 連接語(yǔ)法形式如下所示:
Select table_name.column_name,table_name.column_name,...
From [table_name,tab
【初學(xué)者的英語(yǔ)語(yǔ)句分析】相關(guān)文章:
分析英語(yǔ)語(yǔ)句06-25
英語(yǔ)語(yǔ)句基本結(jié)構(gòu)分析04-21
英語(yǔ)初學(xué)者如何學(xué)好英語(yǔ)06-07
英語(yǔ)句子基本結(jié)構(gòu)類(lèi)型分析03-24
初學(xué)者如何學(xué)習(xí)英語(yǔ)06-02
初學(xué)者復(fù)習(xí)英語(yǔ)的方法05-13
小學(xué)英語(yǔ)句型學(xué)習(xí)的教學(xué)分析06-21
適合英語(yǔ)初學(xué)者看的電影11-17