一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Sql Server - SQL學習筆記三 select語句的各種形式小結(jié)

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

2019-12-06 14:18MSSQL教程網(wǎng) Sql Server

SQL學習筆記三 select語句的各種形式小結(jié),大家可以查看下select命名的使用。

代碼如下:


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 當前時間from T_Employee 



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








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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产乱码免费卡1卡二卡3卡四 | 国语刺激对白勾搭视频在线观看 | 校花被拖到野外伦小说 | 91精品国产色综合久久不卡蜜 | 亚洲高清影院 | 亚洲国产在线午夜视频无 | 我与恶魔的h生活ova | 免费真实播放国产乱子伦 | 女高h| 亚洲精品国产一区二区三区在 | 精品免费国产一区二区三区 | 亚洲冬月枫中文字幕在线看 | 60岁了天天要小伙子 | 免费av在线视频 | 色婷婷激婷婷深爱五月老司机 | 国产自在线拍 | 日韩精品视频观看 | 色戒完整版2小时38分钟 | 亚洲人成网站在线观看妞妞网 | 成人高辣h视频一区二区在线观看 | 4438成人网 | 色综合久久九月婷婷色综合 | 国产日韩综合 | 99精品国产综合久久久久 | 日日爽日日操 | 国产欧美日韩亚洲精品区2345 | 欧美日韩一区二区三在线 | www.91在线播放| 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | 201天天爱天天做 | www.av在线视频| 国产精品二区高清在线 | 欧美一级片免费看 | 久久久免费观成人影院 | 俄罗斯伦理片 | 亚洲国产区男人本色在线观看欧美 | x8x8在线观看免费 | 免费在线看a | 色视频久久 | 操国产美女 | 大香焦在线观看 |