![sqlserver初級教學資料-第4章理論ppt課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/17/8c470c88-2031-4112-a0e4-2c1113b0fdf8/8c470c88-2031-4112-a0e4-2c1113b0fdf81.gif)
![sqlserver初級教學資料-第4章理論ppt課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/17/8c470c88-2031-4112-a0e4-2c1113b0fdf8/8c470c88-2031-4112-a0e4-2c1113b0fdf82.gif)
![sqlserver初級教學資料-第4章理論ppt課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/17/8c470c88-2031-4112-a0e4-2c1113b0fdf8/8c470c88-2031-4112-a0e4-2c1113b0fdf83.gif)
![sqlserver初級教學資料-第4章理論ppt課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/17/8c470c88-2031-4112-a0e4-2c1113b0fdf8/8c470c88-2031-4112-a0e4-2c1113b0fdf84.gif)
![sqlserver初級教學資料-第4章理論ppt課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/17/8c470c88-2031-4112-a0e4-2c1113b0fdf8/8c470c88-2031-4112-a0e4-2c1113b0fdf85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、SQLSERVER數(shù)據(jù)庫基礎第四章 數(shù)據(jù)查詢2022-1-171中國職業(yè)教育聯(lián)盟課程體系中國職業(yè)教育聯(lián)盟課程體系成就百萬精英2022-1-17中國職業(yè)教育聯(lián)盟課程體系22回顧3-1lSQL是什么?lStructured Query Language:結(jié)構(gòu)化查詢語言lT-SQL是什么?lTransact-SQL,是SQL的加強版,對功能進行了擴充:如變量說明、流程控制、功能函數(shù)lT-SQL的組成lDML數(shù)據(jù)操作語言)lDCL數(shù)據(jù)控制語言)lDDL數(shù)據(jù)定義語言)l 2022-1-17中國職業(yè)教育聯(lián)盟課程體系33回顧3-2lT-SQL中的運算符有哪些?l包括有: = = = ! !lT-SQL中的邏
2、輯運算符有哪些?lAnd邏輯與lNot 取反lOr 邏輯或l 2022-1-17中國職業(yè)教育聯(lián)盟課程體系44回顧3-3l代碼改錯l 1、INSERT INTO Studentsl (SName,SAddress,SGrade,SEmail,SSEX) l VALUES (張青裁,上海松江,6,ZQCSohu)l 2、INSERT INTO Students (SCode, l SName,SAddress,SGrade,SEmail,SSEX) l VALUES (100,張青裁,上海松江,6,ZQCSohu,0)l 3、INSERT INTO StudentsInfo (姓名, 地址, 電子
3、郵件) l SELECT SName,SAddress,SEmaill FROM Studentsl4、Update Students Set SName = 胡斐 Set SSex = 1 l Where SName = 胡非l 1、INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁,上海松江,6,ZQCSohu,0) 2、INSERT INTO Students ( SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁,上海松江,6,ZQCSohu,0) 3、INS
4、ERT INTO StudentsInfo (姓名, 地址, 電子郵件) SELECT SName,SAddress,SEmail FROM Students 4、Update Students Set SName = 胡斐, SSex = 1 Where SName = 胡非去掉了sCode這個自增列去掉了100主鍵,自增長2022-1-17中國職業(yè)教育聯(lián)盟課程體系55預習檢查SQL語句中使用最頻繁的是增、刪、改、查中的哪種操作?查詢(query)SQL語句中,執(zhí)行查詢會用到的關(guān)鍵字是?selectSQL server中有哪四種系統(tǒng)內(nèi)置函數(shù)?字符串處理函數(shù)日期時間函數(shù)聚合函數(shù) 數(shù)學函數(shù)202
5、2-1-17中國職業(yè)教育聯(lián)盟課程體系66本章任務l使用select實現(xiàn)各種查詢。l使用系統(tǒng)內(nèi)置函數(shù)實現(xiàn)l一些特殊的排序。2022-1-17中國職業(yè)教育聯(lián)盟課程體系77l理解查詢的機制l熟練使用Select查詢數(shù)據(jù)l掌握常用的Sql Server系統(tǒng)內(nèi)置函數(shù)本章目標2022-1-17中國職業(yè)教育聯(lián)盟課程體系88什么是查詢?客戶程序客戶程序查詢請求查詢請求查詢結(jié)果集查詢結(jié)果集SQL SERVERA B C D E F G SELECT * FROM SALES查詢產(chǎn)生一個虛擬表,看到的是表形式顯示的結(jié)果,但結(jié)果并不真正存儲查詢產(chǎn)生一個虛擬表,看到的是表形式顯示的結(jié)果,但結(jié)果并不真正存儲,每次執(zhí)行查
6、詢只是現(xiàn)從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來,每次執(zhí)行查詢只是現(xiàn)從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來2022-1-17中國職業(yè)教育聯(lián)盟課程體系99怎么查的?SELECT * FROM StudentsH WHERE 所在班級所在班級 = S202S202陜西臨潼陜西臨潼羅林光羅林光010S202湖北宜昌湖北宜昌李菲李菲002S202北京順義北京順義張明敏張明敏0082022-1-17中國職業(yè)教育聯(lián)盟課程體系10常用運算符l常用的邏輯運算符如:2022-1-17中國職業(yè)教育聯(lián)盟課程體系11常用運算符l常用的條件運算符如:大多與大多與C語言中的一樣,很容易理解語言中的一樣,很容易理解2
7、022-1-17中國職業(yè)教育聯(lián)盟課程體系1212思索既然查詢得到的既然查詢得到的“結(jié)果集的結(jié)構(gòu)類似于一張表,結(jié)果集的結(jié)構(gòu)類似于一張表,那么可以在那么可以在“結(jié)果集上繼續(xù)進行查詢嗎?結(jié)果集上繼續(xù)進行查詢嗎?可以的。我們稱之為嵌套查詢可以的。我們稱之為嵌套查詢2022-1-17中國職業(yè)教育聯(lián)盟課程體系1313查詢的基本結(jié)構(gòu)查詢的基本結(jié)構(gòu)查詢的基本結(jié)構(gòu)SELECT FROM WHERE ORDER BY ASC或或DESC2022-1-17中國職業(yè)教育聯(lián)盟課程體系1414表結(jié)構(gòu)如下表的基本結(jié)構(gòu)表的基本結(jié)構(gòu),表名為表名為Score表中的數(shù)據(jù)如下表中的數(shù)據(jù)如下2022-1-17中國職業(yè)教育聯(lián)盟課程體系1
8、515數(shù)據(jù)查詢-根底SELECT * FROM Score SELECT StuNameFROM Score查詢?nèi)康男泻土胁樵內(nèi)康男泻土胁樵儐瘟胁樵儐瘟卸嗔胁樵兌嗔胁樵僑ELECT StuName,course,scoreFROM Score2022-1-17中國職業(yè)教育聯(lián)盟課程體系1616數(shù)據(jù)查詢中重命名列SELECT scoreId as 課程編號課程編號,stuName as 姓名姓名 ,course as 課程課程,score as 成果成果From scoreSELECT scoreId 課程編號課程編號,stuName 姓名姓名 ,course 課程課程,score 成果成果F
9、rom scoreSELECT 課程編號課程編號=scoreId, 姓名姓名=stuName , 課程課程=course, 成果成果=scoreFrom score在查詢中為列取別名在查詢中為列取別名方法一方法一方法二方法二方法三方法三2022-1-17中國職業(yè)教育聯(lián)盟課程體系1717數(shù)據(jù)查詢-空行常量列SELECT SName FROM Students WHERE SEmail IS NULLSELECT 姓名姓名=SName,地址地址= SAddress,河北新龍河北新龍 AS 學校名稱學校名稱FROM Students查詢值為查詢值為Null的行的行給查詢結(jié)果增加常量列給查詢結(jié)果增加常
10、量列2022-1-17中國職業(yè)教育聯(lián)盟課程體系1818數(shù)據(jù)查詢-限制行數(shù)SELECT TOP 5 *FROM score WHERE Score=90SELECT TOP 20 Percent *FROM score WHERE Score=90限制查詢結(jié)果的行數(shù)限制查詢結(jié)果的行數(shù)返回百分之多少行返回百分之多少行2022-1-17中國職業(yè)教育聯(lián)盟課程體系1919小結(jié)1l基本查詢。含所有列、單列、多列查詢lSelect * from 表名 where lSelect 列1,列2,列n from 表名 where l查詢時重命名列名lSELECT scoreId as 課程編號, stuName
11、as 姓名 from 表名 lSELECT scoreId 課程編號, stuName 姓名 from 表名 lSELECT課程編號 = scoreId,姓名 = stuName from 表名 查詢?yōu)榭詹樵優(yōu)榭?null)(null)的行,以及給結(jié)果加一個常量列的行,以及給結(jié)果加一個常量列SELECT SName FROM Students WHERE SEmail IS NULLSELECT SName FROM Students WHERE SEmail IS NULLSELECT SELECT 姓名姓名=SName,=SName, 地址地址= SAddress,= SAddress,
12、河北新龍河北新龍 AS AS 學校名稱學校名稱FROM StudentsFROM Students 查詢時限制返回行數(shù)查詢時限制返回行數(shù)SELECT TOP 5 SELECT TOP 5 * * FROM score FROM scoreSELECT TOP 20 Percent SELECT TOP 20 Percent * * FROM score FROM score 2022-1-17中國職業(yè)教育聯(lián)盟課程體系2020條件查詢l帶Between的范圍查詢l帶in的范圍查詢SELECT * from score where score between 88 and 95SELECT * f
13、rom score where score in (88,95)2022-1-17中國職業(yè)教育聯(lián)盟課程體系2121條件查詢l使用and來實現(xiàn)條件查詢l使用or來實現(xiàn)條件查詢SELECT * from score where score 85 and course = htmlSELECT * from score where score 85 or course = html2022-1-17中國職業(yè)教育聯(lián)盟課程體系2222Order by 子句的應用lOrder by子句主要用于實現(xiàn)排序功能l升序排列l(wèi)降序排列Select * from score order by score ascSel
14、ect * from score order by score desc2022-1-17中國職業(yè)教育聯(lián)盟課程體系2323數(shù)據(jù)查詢-聚合函數(shù)2022-1-17中國職業(yè)教育聯(lián)盟課程體系2424Group by 子句的應用第一門課6個成績?nèi)∑骄档诙T課6個成績?nèi)∑骄档谌T課5個成績?nèi)∑骄?022-1-17中國職業(yè)教育聯(lián)盟課程體系2525分組查詢GROUP BY分組查詢就是將查詢的結(jié)果按照一列或一些列的值進行分組.這樣就可以對每一組進行相應的操作.Select stuname 學員姓名,course 課程名稱,score as 學員成績From scoreGroup by stuname,sc
15、ore,course2022-1-17中國職業(yè)教育聯(lián)盟課程體系2626Having子句的應用WHEREGROUP BYHAVINGWHERE子句從數(shù)據(jù)源中去掉不符合其搜索條件的數(shù)據(jù)GROUP BY子句搜集數(shù)據(jù)行到各個組中,統(tǒng)計函數(shù)為各個組計算統(tǒng)計值HAVING子句去掉不符合其組搜索條件的各組數(shù)據(jù)行2022-1-17中國職業(yè)教育聯(lián)盟課程體系2727分組查詢思索將工資大于2000 的員工按部門分組,將人數(shù)大于1的部門及人數(shù)列出來。思索:分析以下T-SQL的含義SELECT 部門編號, COUNT(*)FROM 員工信息表WHERE 工資 = 2000GROUP BY 部門編號HAVING COUN
16、T(*) 12022-1-17中國職業(yè)教育聯(lián)盟課程體系2828小結(jié)1l范圍查詢lbetweenand inl分組查詢l group bylHaving子句l去掉不符合其組搜索條件的各組數(shù)據(jù)行l(wèi)實現(xiàn)結(jié)果集的升序降序lOrder by 字段 ascorder by 字段 desc2022-1-17中國職業(yè)教育聯(lián)盟課程體系2929多表聯(lián)接查詢l定義:當查詢中需要使用的數(shù)據(jù)不在一張表中時,需要使用多表查詢l多表查詢的分類:l內(nèi)聯(lián)結(jié)(INNER JOIN)l外聯(lián)結(jié)l左外聯(lián)結(jié) (LEFT JOIN)l右外聯(lián)結(jié) (RIGHT JOIN)l完整外聯(lián)結(jié)(FULL JOIN)l交叉聯(lián)結(jié)(CROSS JOIN)20
17、22-1-17中國職業(yè)教育聯(lián)盟課程體系3030多表聯(lián)結(jié)查詢Score122300100100200297896776300381Stundents梅超風陳玄風陸乘風曲靈風1234查詢結(jié)果梅超風陳玄風陳玄風陸乘風00100100200297896776陸乘風00381曲靈風NULLNULL2022-1-17中國職業(yè)教育聯(lián)盟課程體系3131多表聯(lián)結(jié)查詢內(nèi)聯(lián)結(jié)l內(nèi)連接l關(guān)鍵:找出連接的表之間關(guān)系l連接的結(jié)果是兩個表中的公共數(shù)據(jù)l使用的表數(shù)據(jù)2022-1-17中國職業(yè)教育聯(lián)盟課程體系3232多表聯(lián)結(jié)查詢內(nèi)聯(lián)結(jié)SELECT *FROMuserinfo as a inner join deptinfo a
18、s b on a.deptid = b.deptidl例子2022-1-17中國職業(yè)教育聯(lián)盟課程體系3333SQL Server中的函數(shù)字符串函數(shù)字符串函數(shù)日期函數(shù)日期函數(shù)數(shù)學函數(shù)數(shù)學函數(shù)聚合函數(shù)聚合函數(shù)2022-1-17中國職業(yè)教育聯(lián)盟課程體系3434字符串函數(shù)SELECT STUFF(ABCDEFG, 2, 3, 我的音樂我的世界我的音樂我的世界)前往:前往:A我的音樂我的世界我的音樂我的世界EFG在一個字符串中,刪除指定長度的在一個字符串中,刪除指定長度的字符,并在該位置插入一個新的字字符,并在該位置插入一個新的字符串符串STUFFSELECT CHARINDEX(ACCP,My Acc
19、p Course,1 )前往:前往:4用來尋找一個指定的字符串在另一用來尋找一個指定的字符串在另一個字符串中的起始位置個字符串中的起始位置CHARINDEX舉例舉例描畫描畫函數(shù)名函數(shù)名SELECT LEN(SQL Server課程課程)前往:前往:12返回傳遞給它的字符串長度返回傳遞給它的字符串長度LENSELECT LOWER(SQL ServerSELECT LOWER(SQL Server課程課程)前往:前往:sql serversql server課程課程把傳遞給它的字符串轉(zhuǎn)換為小寫把傳遞給它的字符串轉(zhuǎn)換為小寫LOWERSELECT UPPER(sql server課程課程)前往:前往
20、:SQL SERVER課程課程把傳遞給它的字符串轉(zhuǎn)換為大寫把傳遞給它的字符串轉(zhuǎn)換為大寫UPPERSELECT LTRIM ( 周智宇周智宇 )前往:周智宇前往:周智宇 (后面的空格保留)(后面的空格保留)清除字符左邊的空格清除字符左邊的空格LTRIMSELECT RTRIM ( 周智宇周智宇 )前往:前往: 周智宇前面的空格保留)周智宇前面的空格保留)清除字符右邊的空格清除字符右邊的空格RTRIMSELECT RIGHT(買賣提買賣提.吐爾松吐爾松,3)前往:吐爾松前往:吐爾松從字符串右邊返回指定數(shù)目的字符從字符串右邊返回指定數(shù)目的字符RIGHTSELECT REPLACE(莫樂可切莫樂可切.
21、楊可楊可,可可,蘭蘭)前往:莫樂蘭切前往:莫樂蘭切.楊蘭楊蘭替換一個字符串中的字符替換一個字符串中的字符REPLACE2022-1-17中國職業(yè)教育聯(lián)盟課程體系3535日期函數(shù)SELECT DATEPART(day, 01/15/2000)前往:前往:15日期中指定日期部分的整數(shù)形日期中指定日期部分的整數(shù)形式式DATEPARTSELECT GETDATE()前往:今天的日期前往:今天的日期取得當前的系統(tǒng)日期取得當前的系統(tǒng)日期GETDATE舉例舉例描畫描畫函數(shù)名函數(shù)名SELECT DATEADD(mm,4,01/01/99)前往:以當前的日期格式返回前往:以當前的日期格式返回05/01/99將指
22、定的數(shù)值添加到指定的日將指定的數(shù)值添加到指定的日期部分后的日期期部分后的日期DATEADDSELECT DATEDIFF(mm,01/01/99,05/01/99)前往:前往:4兩個日期之間的指定日期部分兩個日期之間的指定日期部分的區(qū)別的區(qū)別DATEDIFFSELECT DATENAME(dw,01/01/2000)前往:前往:Saturday日期中指定日期部分的字符串日期中指定日期部分的字符串形式形式DATENAME2022-1-17中國職業(yè)教育聯(lián)盟課程體系3636數(shù)學函數(shù)SELECT SQRT(9)前往:前往:3取浮點表達式的平方根取浮點表達式的平方根SqrtSELECT ABS(-43)
23、前往:前往:43取數(shù)值表達式的絕對值取數(shù)值表達式的絕對值ABS舉例舉例描畫描畫函數(shù)名函數(shù)名SELECT CEILING(43.5)前往:前往:44返回大于或等于所給數(shù)字表達返回大于或等于所給數(shù)字表達式的最小整數(shù)式的最小整數(shù)CEILINGSELECT POWER(5,2)前往:前往:25取數(shù)值表達式的冪值取數(shù)值表達式的冪值POWERSELECT ROUND(43.543,1)前往:前往:43.5將數(shù)值表達式四舍五入為指定將數(shù)值表達式四舍五入為指定精度精度ROUNDSELECT SIGN(-43)前往:前往:-1對于正數(shù)返回對于正數(shù)返回+1,對于負數(shù)返,對于負數(shù)返回回-1,對于,對于0 則返回則返
24、回0SignSELECT FLOOR(43.5)前往:前往:43取小于或等于指定表達式的最取小于或等于指定表達式的最大整數(shù)大整數(shù)FLOOR2022-1-17中國職業(yè)教育聯(lián)盟課程體系3737案例分析1要求l某公司印了一批充值卡,卡的密碼是隨機生成的,現(xiàn)在出現(xiàn)這個問題:l 卡里面的“O和0”(哦和零)“i和1”(哎和一),用戶反映說看不清楚,公司決定,把存儲在數(shù)據(jù)庫中的密碼中所有的“哦都改成“零”,把所有的“i都改成“1”;l請編寫SQL語句實現(xiàn)以上要求;l數(shù)據(jù)庫表名:Card;密碼字段名:PassWord;2022-1-17中國職業(yè)教育聯(lián)盟課程體系3838案例分析1分析l這是更新語句,需要使用U
25、PDATE語句;l因為牽涉到字符串的替換,需要使用到SQL Server中的函數(shù)Replace;2022-1-17中國職業(yè)教育聯(lián)盟課程體系3939案例分析1T-SQLUpdate Card Set PassWord = Replace(PassWord ,O,0)Update Card Set PassWord = Replace(PassWord ,i,1)Update Card Set PassWord = Replace(Replace(PassWord ,O,0),i,1)兩行兩行SQL語句語句一行一行SQL語句語句2022-1-17中國職業(yè)教育聯(lián)盟課程體系4040案例分析2要求l在數(shù)
26、據(jù)庫表中有以下字符數(shù)據(jù),如:l13-113-1、13-213-2、13-313-3、13-1013-10、13-10013-100、13-10813-108、13-1813-18、13-1113-11、13-1513-15、14-114-1、14-214-2l現(xiàn)在希望通過SQLSQL語句進行排序,并且首先要按照前半部分的數(shù)字進行排序,然后再按照后半部分的數(shù)字進行排需,輸出要排成這樣:l13-113-1、13-213-2、13-313-3、13-1013-10、13-1113-11、13-1513-15、13-1813-18、13-10013-100、13-10813-108、14-114-1、
27、14-214-2l數(shù)據(jù)庫表名:SellRecordSellRecord;字段名:ListNumberListNumber;2022-1-17中國職業(yè)教育聯(lián)盟課程體系4141案例分析2分析l這是查詢語句,需要使用SELECTSELECT語句l需要使用到ORDER BYORDER BY進行排序,并且在ORDER BYORDER BY的排序列中,也需要重新計算出排序的數(shù)字來l前半部分的數(shù)字,可以從先找到“-”“-”符號的位置,然后,取其左半部分,最后再使用ConvertConvert函數(shù)將其轉(zhuǎn)換為數(shù)字:lConvert(int, Left(ListNumber, CharIndex(-, Convert(int, Left(ListNumber, CharIndex(-, ListNumber)-1)ListNumber)-1)l后半部分的數(shù)字,可以先找到“-”“-”符號的位置,然后把從第一個位置到該位置的全部字符替換為空格,最后再使用ConvertConvert函數(shù)將其轉(zhuǎn)換為數(shù)字:lConvert(int, Stuff(ListNumber,1, C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金屬表面油漆行業(yè)深度研究分析報告
- 2025年乙酰乙酰芳胺類行業(yè)深度研究分析報告
- 農(nóng)行理財合同范例
- 農(nóng)村建筑材料租賃合同范例
- 農(nóng)村宗祠建筑合同范例
- 公司土地入股合同范本
- 2025年度酒店客房用品租賃與售后服務合同范本
- 農(nóng)村地基賣合同范例
- 公益贈與合同范本
- 創(chuàng)建三甲醫(yī)院宣傳合同范本
- 島津氣相色譜培訓
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 睡眠專業(yè)知識培訓課件
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習含答案
- 《工程勘察設計收費標準》(2002年修訂本)
- 中國宗教文化 中國古代宗教文化的特點及現(xiàn)代意義
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯點練習500題附帶答案詳解
- 演出經(jīng)紀人培訓
- 蓋房四鄰簽字協(xié)議書范文
- 2024年新人教版七年級上冊數(shù)學教學課件 第六章 幾何圖形初步 數(shù)學活動
評論
0/150
提交評論