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

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

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

2020-07-25 13:21:38
字體:
來源:轉載
供稿:網(wǎng)友

復制代碼 代碼如下:

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]];
ØØ查詢的結果是仍是一個表。
ØSELECT語句的執(zhí)行過程是:
Ø根據(jù)WHERE子句的檢索條件,從FROM子句指定的基本表或視圖中選取滿足條件的元組,再按照SELECT子句中指定的列,投影得到結果表。
Ø如果有GROUP子句,則將查詢結果按照<列名1>相同的值進行分組。
Ø如果GROUP子句后有HAVING短語,則只輸出滿足HAVING條件的元組。
Ø如果有ORDER子句,查詢結果還要按照<列名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
Ø查詢結果中的重復行被去掉
ØØ上述查詢均為不使用WHERE子句的無條件查詢,也稱作投影查詢。
Ø另外,利用投影查詢可控制列名的順序,并可通過指定別名改變查詢結果的列標題的名字。
例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將其連結成復合的邏輯表達式。
Ø其優(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 部分匹配查詢
Ø上例均屬于完全匹配查詢,當不知道完全精確的 主站蜘蛛池模板: 滦平县| 新巴尔虎右旗| 厦门市| 洛扎县| 郸城县| 阿拉善盟| 旬阳县| 信丰县| 金坛市| 五原县| 台南县| 阿坝| 布尔津县| 都安| 香河县| 察雅县| 海门市| 菏泽市| 和龙市| 东港市| 海盐县| 谷城县| 长宁县| 屯昌县| 定日县| 隆安县| 达孜县| 双峰县| 河南省| 榆社县| 吴堡县| 长宁区| 靖州| 鄄城县| 蒲城县| 宝清县| 金寨县| 招远市| 绥中县| 新丰县| 绥芬河市|