摘要:下面是由希賽小編整理的中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之查詢,希望能幫助學(xué)友們。
下面是由希賽小編整理的中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之查詢,希望能幫助學(xué)友們。具體內(nèi)容如下:
查詢
數(shù)據(jù)庫(kù)査詢是數(shù)據(jù)庫(kù)的核心操作。SQL提供了SELECT語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的查詢,該語(yǔ)句具有靈活的使用方式和豐富的功能。其一般格式如下:
SELECT[ALL[DISTINCT1<目標(biāo)列表達(dá)式>],<目標(biāo)列表達(dá)式>]...
FROM<表名或視圖名>[,<表名或視圖名>]...
[WHERE<條件表達(dá)式>]
[GROUPBY<列名1>[HAV[NG<條件表達(dá)式>]]
[ORDERBY<列名2>[ASC]DESC)];
整個(gè)SELECT語(yǔ)旬的含義是,根據(jù)WHERE子句的條件表達(dá)式,從FROM子句指定的
基本表或視圖中找出滿足條件的元組,再按SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的
屬性值形成結(jié)果表。如果有GROUP子句,則將結(jié)果按<列名丨>的值進(jìn)行分組,該屬性列值相等的元組為一個(gè)組。通常會(huì)在每組中使用集函數(shù)。如果GROUP子句帶HAVING短語(yǔ),則只有滿足指定條件的組才可輸出。如果有ORDER子句,則結(jié)果表還要按<列名2>的值的升序或降序排序。
SELECT語(yǔ)句既可以完成簡(jiǎn)單的單表査詢,也可以完成復(fù)雜的連接?xùn)嗽兒颓短撞樵儭?/p>
1.單表査詢
單表查詢是指僅涉及一個(gè)表的查詢。
(1)選擇表中的若干列
選擇表中的全部列或部分列,這就是投影運(yùn)算。
①查詢指定列。在很多情況下,用戶只對(duì)表中的一部分屬性列感興趣,這時(shí)可以通過在SELECT子句的<目標(biāo)列表達(dá)式>中指定要査詢的屬性。
②査詢?nèi)苛小⒈碇械乃袑傩粤卸歼x出來,可以有兩種方法。一種方法就是在SELECT關(guān)鍵字后面列出所有列名。如果列的顯示順序與其在基表中的順序相同,也可以簡(jiǎn)單地將<目標(biāo)列表達(dá)式>指定為*。
③查詢經(jīng)過計(jì)算的值。SELECT子句的<目標(biāo)列表達(dá)式>不僅可以是表中的屬性列,也可以是表達(dá)式。
(2)選擇表中的若干元組
①消除取值重復(fù)的行。兩個(gè)本來并不完全相同的元組,投影到指定的某些列上后,可能變成相同的行了。如果想去掉結(jié)果表中的重復(fù)行,必須指定DISTINCT短語(yǔ)。
②查詢滿足條件的元組?査詢滿足指定條件的元組可以通過WHERE子句實(shí)現(xiàn)。WHERE子句常用的査詢條件如表8-5所示。
統(tǒng)計(jì)元組個(gè)數(shù)統(tǒng)計(jì)一列中值的個(gè)數(shù)計(jì)算一列值的總和(此列必須是數(shù)值型)計(jì)算一列值的平均值(此列必須是數(shù)值型)
求一列值中的最大值求一列值中的最小值如果指定DISTINCT短語(yǔ),則表示在計(jì)算時(shí)要取消指定列中的重復(fù)值。如果不指定DISTINCT短語(yǔ)或指定ALL短語(yǔ)(ALL為缺省值),則表示不取消重復(fù)值。
⑤對(duì)査詢結(jié)果分組。GROUPBY子句將查詢結(jié)果表按某一列或多列值分組,值相等的為一組。
對(duì)査詢結(jié)果分組的目的是為了細(xì)化集函數(shù)的作用對(duì)象。如果未對(duì)查詢結(jié)果分組,集函數(shù)將作用于整個(gè)査詢結(jié)果。如果分組后還要求按一定的條件對(duì)這些組進(jìn)行篩選,最終只輸出滿足指定條件的組,則可以使用HAVING短語(yǔ)指定篩選條件。
返回目錄:中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之?dāng)?shù)據(jù)庫(kù)技術(shù)匯總
相關(guān)推薦:
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題