国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

SQL的基本操作(4.數(shù)據(jù)的檢索)

2019-11-18 17:48:45
字體:
供稿:網(wǎng)友
1.用Select子句檢索記錄
Select子句是每一個(gè)檢索數(shù)據(jù)的查詢核心。它告訴數(shù)據(jù)庫引擎返回什么字段。
Select子句的常見形式是:
Select*
該子句的意思是“返回在所指定的記錄源中能找到的所有字段”。這種命令形式很方便,因?yàn)槟銦o需知道從表中檢索的字段名稱。然而,檢索表中的所有列是低效的。因此,因該只檢索需要的字段,這樣可以大大的提高查詢的效率。
2.使用From子句指定記錄源
From子句說明的是查詢檢索記錄的記錄源;該記錄源可以是一個(gè)表或另一個(gè)存儲查詢。
你還能從多個(gè)表中檢索記錄,這在后面的章節(jié)中將介紹。
例子:
Select*Fromstudents檢索students表中的所有記錄
3.用Where子句說明條件
Where子句告訴數(shù)據(jù)庫引擎根據(jù)所提供的一個(gè)或多個(gè)條件限定其檢索的記錄。條件是一個(gè)表達(dá)式,可具有真假兩種判斷。
例子:
Select*FromstudentsWherename="影子"
返回students中name字段為影子的列表,這次所返回的結(jié)果沒有特定順序,除非你使用了OrderBy子句。該子句將在后面的章節(jié)介紹。
注意:Where子句中的文本字符串界限符是雙引號,在VB中因改為單引號,因?yàn)樵赩B中字符串的界定符是雙引號。
補(bǔ)充:
使用And和Or邏輯可以將兩個(gè)或更多的條件鏈接到一起以創(chuàng)建更高級的Where子句。
例子:
Select*FromstudentsWherename="影子"Andnumber>100
返回name為影子number大于100的列表。
例子:
Select*FromstudentsWherename="影子"And(number>100Ornumber<50)
返回name為影子,number大于100或者小于50的列表。

Where子句中用到的操作符
操作符功能
<小于
<=小于或等于
>大于
>=大于或等于
=等于
<>不等于
Between在某個(gè)取值范圍內(nèi)
Like匹配某個(gè)模式
In包含在某個(gè)值列表中
SQL中的等于和不等于等操作符與VB中的意義和使用相同

例子:
(1).Between操作符
Usecust
Select*Fromstudents
WherenumberBetween1and100
Between操作符返回的是位于所說明的界限之內(nèi)的所有記錄值。這個(gè)例子就返回number字段1到100之間的全部記錄。

(2).Like操作符和通配符
Usecust
Select*Fromstudents
WherenameLike"影"
Like操作符把記錄匹配到你說明的某個(gè)模式。這個(gè)例子是返回含“影”的任意字符串。

四種通配符的含義
通配符描述
代表零個(gè)或者多個(gè)任意字符
_(下劃線)代表一個(gè)任意字符
[]指定范圍內(nèi)的任意單個(gè)字符
[^]不在指定范圍內(nèi)的任意單個(gè)字符

全部示例子如下:
Like"BR"返回以"BR"開始的任意字符串
Like"br"返回以"Br"開始的任意字符串
Like"頽"返回以"een"結(jié)束的任意字符串
Like"en"返回包含"en"的任意字符串
Like"_en"返回以"en"結(jié)束的三個(gè)字符串
Like"[CK]"返回以"C"或者"K"開始的任意字符串
Like"[S-V]ing"返回長為四個(gè)字符的字符串,結(jié)尾是"ing",開始是從S到V。
Like"M[^c]"返回以"M"開始且第二個(gè)字符不是"c"的任意字符串。

4.使用OrderBy對結(jié)果排序
OrderBy子句告訴數(shù)據(jù)庫引擎對其檢索的記錄進(jìn)行排序。可以對任何字段排序,或者對多個(gè)字段排序,并且可以以升序或隆序進(jìn)行排序。
在一個(gè)正式的Select查詢之后包含一個(gè)OrderBy子句,后跟想排序的字段(可以有多個(gè))便可以說明一個(gè)排序順序。
例子:
Usecust
Select*Fromstudents
WherenameLike"影"
OrderBynumber
對返回的結(jié)果按number進(jìn)行排序。

以降序排序
如要以隆序排序,只需在排序的字段之后使用Desc關(guān)鍵字。
例子:
Usecust
Select*Fromstudents
WherenameLike"影"
OrderBynumberDesc

5.使用Top顯示某個(gè)范圍的第一個(gè)記錄或最后一個(gè)記錄。
使用Top關(guān)鍵字可以只顯示一個(gè)大記錄前面或后面的少數(shù)幾個(gè)記錄。在查詢中,Top關(guān)鍵字與排序子句一起把結(jié)果集限制為少數(shù)幾個(gè)記錄或按某個(gè)百分比顯示整個(gè)結(jié)果記錄集合中的一部分。
例子:
SelectTop3*Fromstudents返回students表中的前3條記錄
SelectTop10Percent*Fromstudents返回students表中前面的10個(gè)記錄
SelectTop3*FromstudentsOrderBynumberdesc返回students表中number最大的(最后)的3條記錄

6.用As對字段名進(jìn)行別名化
為什么在查詢中對字段命以別名,或重新命名,這樣做的原因有兩個(gè):
☆所涉及的表的字段名很長,想使字段在結(jié)果集中更易處理一些。
☆創(chuàng)建的查詢產(chǎn)生了某些計(jì)算或合計(jì)列,需要對之進(jìn)行命名。
不管是什么原因?qū)ψ侄蚊詣e名,在SQL中都可以容易地使用As子句做得。
例子:
SelectnumberAs學(xué)號,nameAs姓名Fromstudents

7.合并查詢
合并查詢(UnionQuery)用于合并具有相同字段結(jié)構(gòu)的兩個(gè)表的內(nèi)容,如果想在一個(gè)結(jié)果集中顯示多個(gè)記錄源中的不相關(guān)的記錄時(shí),這十分有用。
例子:
Select*
Fromstudents
Union
Select*
Fromstudents1
該查詢結(jié)果集把students和students1中的記錄合并到一個(gè)結(jié)果中,其輸出就和原表歸檔之前一模一樣。
注意:缺省情況下,合并查詢不會返回重復(fù)記錄(如果記錄歸檔系統(tǒng)在把記錄拷到歸檔表中后不將相應(yīng)的記錄刪除,這時(shí)該功能就有用了),可以加上All關(guān)鍵字而讓合并查詢顯示重復(fù)記錄。
例子:
Select*
Fromstudents
UnionAll
Select*
Fromstudents1
該合并查詢顯示students表和students1表的內(nèi)容時(shí),沒有對重復(fù)記錄進(jìn)行處理
補(bǔ)充:
Union運(yùn)算符允許把兩個(gè)或者多個(gè)查詢結(jié)果合并到一個(gè)查詢結(jié)果集中。如果比較Union和Join兩咱運(yùn)算符,那么Union運(yùn)算符增加行的數(shù)量,而Join運(yùn)算符增加列的數(shù)量。使用Union時(shí)應(yīng)該注意,兩個(gè)結(jié)果中的列的結(jié)構(gòu)必須匹配,數(shù)據(jù)類型必須兼容等等。
Union運(yùn)算符的語法形式如下:
Selectselect_list
Fromclause
Whereclause
GroupByclause
Havingclause
Union[All]
Selectselect_list
Fromclause
Whereclause
GroupByclause
Havingclause
OrderByclause
Computeclause
對于Union運(yùn)算符,有下列幾點(diǎn)需要說明:
·在默認(rèn)情況下,Union運(yùn)算符刪除全部冗余行。如果使用All選項(xiàng),那么冗余行不刪除。
·在Union語句中的全部select_list必須有相同數(shù)量的列、兼容的數(shù)據(jù)類型并且按照同樣的順序出現(xiàn)。
·在結(jié)果集中,列名來自第一個(gè)Select語句。


8.連接查詢
在實(shí)際使用過程中經(jīng)常需要同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數(shù)據(jù)。連接就是允許同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數(shù)據(jù),指定這些表中某個(gè)或者某些列作為連接條件。在SQLServer中,可以使用兩種連接語法形式,一種是Ansi連接語法形式,這是連接用在From子句中,另外一種是SQLServer連接語句形式,這是連接用在Where子句中。
Ansi連接語法形式如下:
Selecttable_name.column_name,table_name.column_name,...
From{table_name[join_type]Jointable_nameOnsearch_conditions}
Where[search_conditions]
在Ansi語法形式中,可以Ansi連接關(guān)鍵字來確定使用的連接形式。例如:
☆使用InnerJoin關(guān)鍵字,結(jié)果集中僅包含滿足條件的行。
☆使用CrossJoin關(guān)鍵字,結(jié)果集中包含兩個(gè)表中所有行的組合。
☆使用OuterJoin關(guān)鍵字,結(jié)果集中既包含那些滿足條件的行,還包含那些其中某個(gè)表的全部行。
SQLServer連接語法形式如下所示:
Selecttable_name.column_name,table_name.column_name,...
From[table_name,tab->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇沅| 惠州市| 巴彦淖尔市| 都匀市| 资阳市| 桃源县| 浏阳市| 云梦县| 彰化县| 黄大仙区| 兴和县| 平邑县| 忻城县| 保山市| 两当县| 安国市| 正安县| 象州县| 钟山县| 辽阳市| 惠来县| 镇雄县| 元谋县| 濉溪县| 孟州市| 承德县| 汕头市| 和田县| 宁远县| 航空| 谷城县| 天镇县| 兴和县| 都安| 长治县| 莱州市| 科技| 武宣县| 廊坊市| 波密县| 石嘴山市|