主頁 > 知識庫 > SQL學(xué)習(xí)筆記三 select語句的各種形式小結(jié)

SQL學(xué)習(xí)筆記三 select語句的各種形式小結(jié)

熱門標(biāo)簽:陜西電銷外呼系統(tǒng)好用嗎 蘭州語音外呼系統(tǒng)運(yùn)營商 數(shù)字匠心電銷機(jī)器人 al智能電話機(jī)器人 如何做地圖標(biāo)注圖鋪 沒聽見電話機(jī)器人幫你接 最新人工智能電銷機(jī)器人 成都電話外呼系統(tǒng)一般多少錢 銀川高頻外呼回?fù)芟到y(tǒng)多少錢

復(fù)制代碼 代碼如下:

Select * from T_Employee
select FName,FAge from T_Employee
select FName from T_Employee where FSalary 5000
select FName as 姓名,FAge as 年齡,FSalary as 月薪from T_Employee where FSalary 5000
select FName as 姓名,FAge as 年齡,FSalary as 月薪,getdate() as 當(dāng)前時(shí)間from T_Employee


3.3.1 SELECT命令的格式與基本使用
Ø數(shù)據(jù)查詢是數(shù)據(jù)庫中最常見的操作。
ØSQL語言提供SELECT語句,通過查詢操作可得到所需的信息。
ØSELECT語句的一般格式為:
SELECT〈列名〉[{,〈列名〉}]
FROM〈表名或視圖名〉[{,〈表名或視圖名〉}]
[WHERE〈檢索條件〉]
[GROUP BY 列名1>[HAVING 條件表達(dá)式>]]
[ORDER BY 列名2>[ASC|DESC]];
ØØ查詢的結(jié)果是仍是一個(gè)表。
ØSELECT語句的執(zhí)行過程是:
Ø根據(jù)WHERE子句的檢索條件,從FROM子句指定的基本表或視圖中選取滿足條件的元組,再按照SELECT子句中指定的列,投影得到結(jié)果表。
Ø如果有GROUP子句,則將查詢結(jié)果按照列名1>相同的值進(jìn)行分組。
Ø如果GROUP子句后有HAVING短語,則只輸出滿足HAVING條件的元組。
Ø如果有ORDER子句,查詢結(jié)果還要按照列名2>的值進(jìn)行排序。
Ø例3.21 查詢?nèi)w學(xué)生的學(xué)號、姓名和年齡。
SELECT SNO, SN, AGE FROM S
Ø例3.22 查詢學(xué)生的全部信息。
SELECT * FROM S
Ø用‘ * '表示S表的全部列名,而不必逐一列出。
Ø例3.23 查詢選修了課程的學(xué)生號。
SELECT DISTINCT SNO FROM SC
Ø查詢結(jié)果中的重復(fù)行被去掉
ØØ上述查詢均為不使用WHERE子句的無條件查詢,也稱作投影查詢。
Ø另外,利用投影查詢可控制列名的順序,并可通過指定別名改變查詢結(jié)果的列標(biāo)題的名字。
例3.24 查詢?nèi)w學(xué)生的姓名、學(xué)號和年齡。
SELECT SNAME NAME, SNO, AGE FROM S
Ø其中,NAME為SNAME的別名
3.3.2 條件查詢
Ø當(dāng)要在表中找出滿足某些條件的行時(shí),則需使用WHERE子句指定查詢條件。
ØWHERE子句中,條件通常通過三部分來描述:
1. 列名;
2. 比較運(yùn)算符;
3. 列名、常數(shù)。








3.3.2.1 比較大小
例3.25 查詢選修課程號為‘C1'的學(xué)生的學(xué)號和成績。
SELECT SNO,SCORE FROM SC WHERE CNO='C1'Ø例3.26 查詢成績高于85分的學(xué)生的學(xué)號、課程號和成績。
SELECT SNO,CNO,SCORE FROM SC WHERE SCORE>85
Ø3.3.2.2 多重條件查詢
Ø當(dāng)WHERE子句需要指定一個(gè)以上的查詢條件時(shí),則需要使用邏輯運(yùn)算符AND、OR和NOT將其連結(jié)成復(fù)合的邏輯表達(dá)式。
Ø其優(yōu)先級由高到低為:NOT、AND、OR,用戶可以使用括號改變優(yōu)先級。
Ø例3.27 查詢選修C1或C2且分?jǐn)?shù)大于等于85分學(xué)生的的學(xué)號、課程號和成績。
SELECT SNO,CNO,SCORE
FROM SC
WHERE(CNO='C1' OR CNO='C2') AND SCORE>=85
3.3.2.3 確定范圍
例3.28 查詢工資在1000至1500之間的教師的教師號、姓名及職稱。
SELECT TNO,TN,PROF
FROM T
WHERE SAL BETWEEN 1000 AND 1500
Ø等價(jià)于
SELECT TNO,TN,PROF
FROM T
WHERE SAL>=1000 AND SAL=1500
Ø例3.29 查詢工資不在1000至1500之間的教師的教師號、姓名及職稱。
SELECT TNO,TN,PROF
FROM TWHERE SAL NOT BETWEEN 1000 AND 1500
3.2.2.4 確定集合
Ø利用“IN”操作可以查詢屬性值屬于指定集合的元組。
例3.30 查詢選修C1或C2的學(xué)生的學(xué)號、課程號和成績。
SELECT SNO, CNO, SCORE
FROM SC
WHERE CNO IN(‘C1', ‘C2')
Ø此語句也可以使用邏輯運(yùn)算符“OR”實(shí)現(xiàn)。
SELECT SNO, CNO, SCORE
FROM SC
WHERE CNO=‘C1' OR CNO= ‘C2'Ø利用“NOT IN”可以查詢指定集合外的元組。
例3.31 查詢沒有選修C1,也沒有選修C2的學(xué)生的學(xué)號、課程號和成績。
SELECT SNO, CNO, SCORE
FROM SC
WHERE CNO NOT IN(‘C1', ‘C2')
Ø等價(jià)于:
SELECT SNO, CNO, SCORE
FROM SC
WHERE CNO!=‘C1' AND CNO!= ‘C2'Ø
3.3.2.5 部分匹配查詢
Ø上例均屬于完全匹配查詢,當(dāng)不知道完全精確的値時(shí),用戶還可以使用LIKE或NOT LIKE進(jìn)行部分匹配查詢(也稱模糊查詢)。
ØLIKE定義的一般格式為:
屬性名> LIKE 字符串常量>
Ø屬性名必須為字符型,字符串常量的字符可以包含如下兩個(gè)特殊符號:
Ø%:表示任意知長度的字符串;
Ø_:表示任意單個(gè)字符。
例3.32 查詢所有姓張的教師的教師號和姓名。
SELECT TNO, TN
FROM T
WHERE TN LIKE ‘張%'
例3.33 查詢姓名中第二個(gè)漢字是“力”的教師號和姓名。
SELECT TNO, TN
FROM T
WHERE TN LIKE ‘_ _力%'Ø注:一個(gè)漢字占兩個(gè)字符。
3.3.2.6 空值查詢
Ø某個(gè)字段沒有值稱之為具有空值(NULL)。
Ø通常沒有為一個(gè)列輸入值時(shí),該列的值就是空值。
Ø空值不同于零和空格,它不占任何存儲空間。
Ø例如,某些學(xué)生選課后沒有參加考試,有選課記錄,但沒有考試成績,考試成績?yōu)榭罩?,這與參加考試,成績?yōu)榱惴值牟煌?

例3.34 查詢沒有考試成績的學(xué)生的學(xué)號和相應(yīng)的課程號。
SELECT SNO, CNO
FROM SC
WHERE SCORE IS NULL
Ø注意:這里的空值條件為IS NULL,不能寫成SCORE=NULL。

標(biāo)簽:巴彥淖爾 遼源 通化 邢臺 鹽城 本溪 朔州 宜春

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL學(xué)習(xí)筆記三 select語句的各種形式小結(jié)》,本文關(guān)鍵詞  SQL,學(xué)習(xí),筆記,三,select,語句,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL學(xué)習(xí)筆記三 select語句的各種形式小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL學(xué)習(xí)筆記三 select語句的各種形式小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章