版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 SQL SERVER SQL SERVER的運用的運用本章內(nèi)容:引見本章內(nèi)容:引見SQL SERVERSQL SERVER的主要功能操作的主要功能操作例如例如1 1:RecruitmentRecruitment例如例如2 2:GlobalToyzGlobalToyzq 查詢數(shù)據(jù)庫查詢數(shù)據(jù)庫* 關(guān)于招收新人的資料存儲在本地關(guān)于招收新人的資料存儲在本地SQL Server SQL Server 的的RECRUITMENTRECRUITMENT*數(shù)據(jù)庫中。這些表格包括關(guān)于候選人、他們的資歷和聯(lián)絡(luò)資數(shù)據(jù)庫中。這些表格包括關(guān)于候選人、他們的資歷和聯(lián)絡(luò)資料、料、*可提供的空缺等方面的數(shù)據(jù),及
2、招收新人代理需求的其它信可提供的空缺等方面的數(shù)據(jù),及招收新人代理需求的其它信息。息。*查詢一切外部候選者的名字,城市,和號碼的信息。查詢一切外部候選者的名字,城市,和號碼的信息。SELECT vFirstName,vLastName,cCity,cPhoneSELECT vFirstName,vLastName,cCity,cPhoneFROM ExternalCandidateFROM ExternalCandidate* 顯示顯示RecruitmentRecruitment數(shù)據(jù)庫中各種職位和當(dāng)前人數(shù)。數(shù)據(jù)庫中各種職位和當(dāng)前人數(shù)。SELECT cPositionCode,vDescripti
3、on,SELECT cPositionCode,vDescription, iCurrentLength iCurrentLengthFROM PositionFROM Positionv 顯示帶用戶自定義標(biāo)題的列顯示帶用戶自定義標(biāo)題的列v 當(dāng)查詢結(jié)果對照當(dāng)查詢結(jié)果對照SELECTSELECT語句顯示時,結(jié)果集的列名與表中語句顯示時,結(jié)果集的列名與表中的列名是一樣的。當(dāng)任何一種表達(dá)式作用在列上時,的列名是一樣的。當(dāng)任何一種表達(dá)式作用在列上時,SQL SERVERSQL SERVER隱藏列標(biāo)題。隱藏列標(biāo)題。v 用戶自定義的列標(biāo)題可以替代缺省列標(biāo)題。包括兩種方法用戶自定義的列標(biāo)題可以替代缺省列標(biāo)題
4、。包括兩種方法:一種列標(biāo)題在列名之前,一種列標(biāo)題在列名之后。:一種列標(biāo)題在列名之前,一種列標(biāo)題在列名之后。* 查詢合同招聘人員的名字和他們的雇傭費用。要求查詢結(jié)果查詢合同招聘人員的名字和他們的雇傭費用。要求查詢結(jié)果的列標(biāo)題作出改動,顯示格式如下:的列標(biāo)題作出改動,顯示格式如下:招聘人員名字招聘人員名字雇傭薪金雇傭薪金方法方法1 1: 其中其中asas可以省略可以省略SELECT cName as SELECT cName as 招聘人員名字招聘人員名字,siPercentageCharge ,siPercentageCharge as as 雇傭薪金雇傭薪金FROM ContractRecru
5、iterFROM ContractRecruiter方法方法2 2:SELECT SELECT 招聘人員名字招聘人員名字=cName, =cName, 雇傭薪金雇傭薪金= siPercentageCharge= siPercentageChargeFROM ContractRecruiterFROM ContractRecruiterv 運用通配符運用通配符v 給給RecruitmentRecruitment雇員雇員EmployeeEmployee表的表的cPhonecPhone列添加一個約列添加一個約束,要求該列的字符串格式為束,要求該列的字符串格式為* * * * * * *- -* *
6、* * *,其中,其中* *為數(shù)為數(shù)字字符。如字字符。如(120)903-3989(120)903-3989就是符合條件的一個例子。就是符合條件的一個例子。ALTER TABLE EmployeeALTER TABLE EmployeeADD CONSTRAINT CK_Employee_cPhoneADD CONSTRAINT CK_Employee_cPhoneCHECK (cPhone like (0-90-90-9)0-90-90-CHECK (cPhone like (0-90-90-9)0-90-90-9-0-90-90-90-9)9-0-90-90-90-9)* 根據(jù)測試的成果,
7、成果最高的三位外部候選人將獲得面試的根據(jù)測試的成果,成果最高的三位外部候選人將獲得面試的時機。測試的時間是時機。測試的時間是20192019年年3 3月份進(jìn)展的。先需求列出滿足條件月份進(jìn)展的。先需求列出滿足條件的外部候選人的左右信息。的外部候選人的左右信息。v 顯示頂部幾行顯示頂部幾行v 與與SELECTSELECT語句一同運用的語句一同運用的TOPTOP子句限制了結(jié)果集合中前往的子句限制了結(jié)果集合中前往的行數(shù)。行數(shù)。語法:語法:SELECT TOP nPERCENT SELECT TOP nPERCENT 列名列名,列名列名 FROM FROM 表名表名 WHERE WHERE 查詢條件查詢
8、條件 ORDER BY ORDER BY 列名列名,列名列名* 根據(jù)測試的成果,成果最高的三位外部候選人將獲得面試的根據(jù)測試的成果,成果最高的三位外部候選人將獲得面試的時機。測試的時間是時機。測試的時間是20192019年年3 3月份進(jìn)展的。先需求列出滿足條件月份進(jìn)展的。先需求列出滿足條件的外部候選人的左右信息。查詢語句如下:的外部候選人的左右信息。查詢語句如下:語法:語法:SELECT TOP 3 SELECT TOP 3 * *FROM ExternalCandidateFROM ExternalCandidateWHERE dTestDate=WHERE dTestDate=2019-3
9、-12019-3-1 AND dTestDate= AND dTestDate=3/31/20193/31/2019ORDER BY siTestScore DESCORDER BY siTestScore DESCv GROUP BY ALL GROUP BY ALLv GROUP BY GROUP BY子句中的關(guān)鍵字子句中的關(guān)鍵字ALLALL用于顯示一切的組,包括那些用于顯示一切的組,包括那些被被WHEREWHERE子句排除的組。子句排除的組。例子:例子:SELECT Sno,AVG(Grade)SELECT Sno,AVG(Grade)FROM SCFROM SCWHERE Sno in
10、(WHERE Sno in(9500195001, ,9500295002) )GROUP BY ALL SnoGROUP BY ALL Snov 運用運用COMPUTECOMPUTE和和COMPUTE BYCOMPUTE BY子句子句v 運用帶運用帶SELECTSELECT語句的語句的COMPUTECOMPUTE子句,在查詢結(jié)果中運用聚合子句,在查詢結(jié)果中運用聚合函數(shù)產(chǎn)生匯總行。函數(shù)產(chǎn)生匯總行。COMPUTECOMPUTE子句用于對于整個查詢結(jié)果產(chǎn)生總計子句用于對于整個查詢結(jié)果產(chǎn)生總計值,值,COMPUTE BYCOMPUTE BY子句對于每個組產(chǎn)生小計值。子句對于每個組產(chǎn)生小計值。語法:語
11、法:SELECT SELECT 列名列名,列名列名 FROM FROM 表名表名 WHERE WHERE 查詢條件查詢條件 ORDER BY ORDER BY 列名列名,列名列名COMPUTE COMPUTE 聚合函數(shù)列名聚合函數(shù)列名,聚合函數(shù)聚合函數(shù)( (列名列名) BY BY 列名列名,列名列名* 打印出一切的選修記錄,并在查詢結(jié)果的底部打印匯總一切打印出一切的選修記錄,并在查詢結(jié)果的底部打印匯總一切學(xué)生的平均成果,總成果。學(xué)生的平均成果,總成果。SELECT SELECT * *FROM SCFROM SCCOMPUTE AVG(Grade),SUM(Grade)COMPUTE AVG(
12、Grade),SUM(Grade)* 打印出每個學(xué)生的選修記錄,并在每個學(xué)生查詢結(jié)果的尾部打印出每個學(xué)生的選修記錄,并在每個學(xué)生查詢結(jié)果的尾部打印匯總每個學(xué)生的平均成果,總成果。打印匯總每個學(xué)生的平均成果,總成果。SELECT SELECT * *FROM SCFROM SC ORDER BY Sno ORDER BY Sno COMPUTE AVG(Grade),SUM(Grade) BY Sno COMPUTE AVG(Grade),SUM(Grade) BY Sno* 對于對于pubspubs數(shù)據(jù)庫,打印每類書籍的類型稱號和預(yù)付款項,在數(shù)據(jù)庫,打印每類書籍的類型稱號和預(yù)付款項,在每種類型
13、書籍記錄的尾部匯總每類書籍的預(yù)付款總額每種類型書籍記錄的尾部匯總每類書籍的預(yù)付款總額SELECT Tyte,AdvanceSELECT Tyte,AdvanceFROM TitlesFROM Titles ORDER BY TypeORDER BY Type COMPUTE SUM(Advance) BY TypeCOMPUTE SUM(Advance) BY Type COMPUTE COMPUTE和和COMPUTE BYCOMPUTE BY子句的運用規(guī)那么子句的運用規(guī)那么 COMPUTE COMPUTE子句所用到的一切列必需出如今子句所用到的一切列必需出如今SELECTSELECT列表中列
14、表中 運用運用COMPUTE BYCOMPUTE BY子句,必需同時運用子句,必需同時運用ORDER BYORDER BY子句子句 在在COMPUTE BYCOMPUTE BY子句列出的列,必需與子句列出的列,必需與ORDER BYORDER BY子句運用的列匹子句運用的列匹配配 在在COMPUTE BYCOMPUTE BY子句中,不同聚合函數(shù)可以用于一個以上的列子句中,不同聚合函數(shù)可以用于一個以上的列* 針對上述規(guī)那么中的第三條和第四條針對上述規(guī)那么中的第三條和第四條*當(dāng)對當(dāng)對TitlesTitles表查詢時運用如下的表查詢時運用如下的ORDER BYORDER BY子句時:子句時:ORDE
15、R BY TypeORDER BY Type,Price, AdvancePrice, Advance下面的下面的COMPUTE BYCOMPUTE BY子句,對于上面的子句,對于上面的ORDER BYORDER BY子句來說是有效的子句來說是有效的COMPUTE AVG(Advance),AVG(Price) BY TypeCOMPUTE AVG(Advance),AVG(Price) BY Type,Price, AdvancePrice, AdvanceCOMPUTE AVG(Advance),AVG(Price) BY TypeCOMPUTE AVG(Advance),AVG(Pric
16、e) BY Type,PricePriceCOMPUTE AVG(Advance),AVG(Price) BY TypeCOMPUTE AVG(Advance),AVG(Price) BY Typev 內(nèi)銜接查詢。查詢外部候選人的名字以及他們的招聘代理的內(nèi)銜接查詢。查詢外部候選人的名字以及他們的招聘代理的稱號。稱號。SELECT vFirstName,vLastName,cNameSELECT vFirstName,vLastName,cNameFROM ExternalCandidate JOIN RecruitmentAgenciesFROM ExternalCandidate JOIN
17、RecruitmentAgenciesON ExternalCandidate.cAgencyCode=ON ExternalCandidate.cAgencyCode=RecruitmentAgencies.cAgencyCode RecruitmentAgencies.cAgencyCode * 思索:查詢外部候選人和他們看招聘廣告查詢的報紙。要求思索:查詢外部候選人和他們看招聘廣告查詢的報紙。要求的信息包括外部候選人的姓名和報紙的稱號。的信息包括外部候選人的姓名和報紙的稱號。SELECT vFirstNameSELECT vFirstName,vLastNamevLastName,cNe
18、wspaperNamecNewspaperNameFROM ExternalCandidate JOIN NewsAd FROM ExternalCandidate JOIN NewsAd ON ExternalCandidateewsAdNo=NewsAdewsAdNoON ExternalCandidateewsAdNo=NewsAdewsAdNoJOIN Newspaper ON NewsAdewspaperCode=JOIN Newspaper ON NewsAdewspaperCode=NewspaperewspaperCodeNewspaperewspaperCodev 外銜接查詢
19、。列出一切外部候選人的名字,由招聘代理方式外銜接查詢。列出一切外部候選人的名字,由招聘代理方式來的候選人顯示他們的招聘代理的名字。來的候選人顯示他們的招聘代理的名字。SELECT vFirstName,vLastName,cNameSELECT vFirstName,vLastName,cNameFROM ExternalCandidate LEFT OUTER JOIN FROM ExternalCandidate LEFT OUTER JOIN RecruitmentAgencies RecruitmentAgenciesON ExternalCandidate.cAgencyCode=O
20、N ExternalCandidate.cAgencyCode=RecruitmentAgencies.cAgencyCode RecruitmentAgencies.cAgencyCode v 交叉銜接。實現(xiàn)兩個表的笛卡爾乘積的銜接。交叉銜接。實現(xiàn)兩個表的笛卡爾乘積的銜接。SELECT SELECT * *FROM Student,SCFROM Student,SC另一種方式的交叉銜接:另一種方式的交叉銜接:SELECT SELECT * *FROM Student CROSS JOIN SCFROM Student CROSS JOIN SCv 本身銜接。并列輸出價錢為本身銜接。并列輸出價
21、錢為2.99002.9900的一對書籍的書名。的一對書籍的書名。SELECT SELECT * *FROM titles t1 JOIN titles t2 FROM titles t1 JOIN titles t2 ON t1.price=t2.price ON t1.price=t2.price WHERE t1.price=2.99 AND t1.titlet2.titleWHERE t1.price=2.99 AND t1.title(SELECT AVG(t2.Advance) WHERE t1.Advance(SELECT AVG(t2.Advance) FROM titles t
22、2 FROM titles t2 WHERE t1.Type=t2.Type WHERE t1.Type=t2.Type* 思索:列出學(xué)生選課記錄,只列出那些高于本人平均分的那思索:列出學(xué)生選課記錄,只列出那些高于本人平均分的那些記錄的學(xué)號、課程號、成果。些記錄的學(xué)號、課程號、成果。SELECT SnoSELECT Sno,CnoCno,GradeGradeFROM SC XFROM SC XWHERE X.Grade(SELECT AVG(Grade) WHERE X.Grade(SELECT AVG(Grade) FROM SC Y FROM SC Y WHERE X.Sno=Y.Sno)
23、 WHERE X.Sno=Y.Sno)v 抽取數(shù)據(jù)到另一個表中。需求抽取數(shù)據(jù)到另一個表中。需求20192019年年5 5月懇求招聘的外部候選月懇求招聘的外部候選人的資料,抽取這些人的資料到一個新表中。人的資料,抽取這些人的資料到一個新表中。語法:語法:SELECT SELECT 列名列名,列名列名 INTO INTO 新表名新表名FROM FROM 表名表名 WHERE WHERE 查詢條件查詢條件 SELECT SELECT * * INTO #tempExternalCandidate INTO #tempExternalCandidateFROM ExternalCandidateFRO
24、M ExternalCandidateWHERE dDateOfApplication=2019-5-31 ANDWHERE dDateOfApplication=2019-5-1 dDateOfApplication=2019-5-1注:在注:在SQL SERVERSQL SERVER中,對象前加上符號中,對象前加上符號# #表示該對象為暫時表示該對象為暫時對象,暫時對象存儲在數(shù)據(jù)庫對象,暫時對象存儲在數(shù)據(jù)庫tempdbtempdb中。一個中。一個# #表示為部分表示為部分暫時表,兩個暫時表,兩個#表示全局暫時表。表示全局暫時表。* 思索:創(chuàng)建一個全局暫時表思索:創(chuàng)建一個全局暫時表abcab
25、c,其中包括,其中包括4 4個屬性編號、個屬性編號、姓名、性別、年齡,其中編號為整數(shù)類型,且為自動編號類型姓名、性別、年齡,其中編號為整數(shù)類型,且為自動編號類型,初始編號值為,初始編號值為100100,以后每一個增,以后每一個增1 1。其他屬性自定類型。其他屬性自定類型。CREATE TABLE #abc(CREATE TABLE #abc(itemNo int IDENTITY(100,1),itemNo int IDENTITY(100,1),itemName varchar(50),itemName varchar(50),itemgender nchar(1),itemgender n
26、char(1),itemage int)itemage int) IDENTITY IDENTITY:IDENTITYIDENTITY用于那些需求自動產(chǎn)生獨一系統(tǒng)值的列,用于那些需求自動產(chǎn)生獨一系統(tǒng)值的列,該特性可用于產(chǎn)生有序列。詳細(xì)用法:該特性可用于產(chǎn)生有序列。詳細(xì)用法:IDENTITY(SEED,INCREMENT)IDENTITY(SEED,INCREMENT) 其中其中SEEDSEED為初始值,為初始值,INCREMENTINCREMENT為步長。為步長。 補充:補充:timestamptimestamp數(shù)據(jù)類型,這種數(shù)據(jù)類型表現(xiàn)自動生成的二數(shù)據(jù)類型,這種數(shù)據(jù)類型表現(xiàn)自動生成的二進(jìn)制數(shù)
27、,確保這些數(shù)在數(shù)據(jù)庫中是獨一的。進(jìn)制數(shù),確保這些數(shù)在數(shù)據(jù)庫中是獨一的。timestamptimestamp普通用作普通用作給表行加版本戳的機制。存儲大小為給表行加版本戳的機制。存儲大小為8 8字節(jié)。一個表只能有一個字節(jié)。一個表只能有一個timestamptimestamp列。每次插入或更新包含列。每次插入或更新包含timestamptimestamp列的行時,列的行時,timestamptimestamp列中的值均會更新。列中的值均會更新。q SQL SERVER SQL SERVER的函數(shù)的函數(shù)- -串函數(shù)串函數(shù)函數(shù)名函數(shù)名例子例子描述描述ASCIIASCIISELECT ASCII(SEL
28、ECT ASCII(ABCABC) )返回返回6565,是最左邊字母,是最左邊字母 A A的的ASCIIASCII碼。碼。CHARCHARSELECT CHAR(65) SELECT CHAR(65) 返回字符返回字符A A,與該與該ASCIIASCII碼對應(yīng)碼對應(yīng)的字符。的字符。CHARINDEXCHARINDEXSELECT SELECT CHARINDEX(CHARINDEX(E E, ,HELLOHELLO) )返回返回2 2,表達(dá)式中指定模式的開始,表達(dá)式中指定模式的開始位置。位置。DIFFERENCEDIFFERENCESELECT SELECT DIFFERENCE(DIFFER
29、ENCE(HELLOHELLO, ,h hellell) )返回返回4 4。函數(shù)。函數(shù)DIFFERENCEDIFFERENCE對兩個字對兩個字符串進(jìn)行比較,求值它們之間的相符串進(jìn)行比較,求值它們之間的相似性(似性(0404),值),值4 4是最佳匹配值。是最佳匹配值。函數(shù)名函數(shù)名例子例子描述描述LEFTLEFTSELECT SELECT LEFT(LEFT(RICHARDRICHARD,4),4)返回返回RICHRICH,它是從左開始的字它是從左開始的字符串的一部分,符串的一部分,4 4指明其截取長度。指明其截取長度。LENLENSELECT LEN(SELECT LEN(RICHARD)RI
30、CHARD)返回返回7 7,它是字符串表達(dá)式中字符,它是字符串表達(dá)式中字符的個數(shù)。的個數(shù)。LOWERLOWERSELECT SELECT LOWER(LOWER(RICHARDRICHARD) )把字符串轉(zhuǎn)換成小寫形式,返回值把字符串轉(zhuǎn)換成小寫形式,返回值為為richardrichard。LTRIMLTRIMSELECT SELECT LTRIM(LTRIM( RICHARD RICHARD) )去掉字符串的前導(dǎo)空格,返回字符去掉字符串的前導(dǎo)空格,返回字符串串RICHARDRICHARD。PATINDEXPATINDEXSELECT PATINDEX SELECT PATINDEX ( (%B
31、OX%BOX%, ,ACTION BOXACTION BOX) )返回返回7 7,它是模式在指定表達(dá)式中,它是模式在指定表達(dá)式中第一次出現(xiàn)的開始位置,或為第一次出現(xiàn)的開始位置,或為0 0,如果沒有找到匹配模式。如果沒有找到匹配模式。函數(shù)名函數(shù)名例子例子描述描述REVERSEREVERSESELECT SELECT REVERSE(REVERSE(ACTIONACTION) )返回返回NOITCANOITCA,它是指定的字符它是指定的字符串的倒置字符串。串的倒置字符串。RIGHTRIGHTSELECT SELECT RIGHT(RIGHT(RICHARDRICHARD,4,4) )返回返回 HA
32、RDHARD,從指定字符串右部從指定字符串右部截取長度為截取長度為4 4的子串。的子串。RTRIMRTRIMSELECT SELECT RTRIM(RTRIM(RICHARD RICHARD ) )返回返回RICHARDRICHARD,抹去字符串中的抹去字符串中的后導(dǎo)空格。后導(dǎo)空格。SPACESPACESELECT SPACE(2)SELECT SPACE(2)返回長度為返回長度為2 2的空格字符串的空格字符串STRSTRSELECT SELECT STR(123.45,6,2)STR(123.45,6,2)返回返回123.45123.45。該函數(shù)把數(shù)值轉(zhuǎn)。該函數(shù)把數(shù)值轉(zhuǎn)換為字符串。第二個參數(shù)
33、指定轉(zhuǎn)換換為字符串。第二個參數(shù)指定轉(zhuǎn)換后的總長度,包括小數(shù)點、正負(fù)號。后的總長度,包括小數(shù)點、正負(fù)號。第三個參數(shù)指定小數(shù)點后的位數(shù)。第三個參數(shù)指定小數(shù)點后的位數(shù)。函數(shù)名函數(shù)名例子例子描述描述STUFFSTUFFSELECT STUFF SELECT STUFF ( (WeatherWeather,2,2,2,2,i i) )返回返回WitherWither,它從指定的字符它從指定的字符串的指定位置串的指定位置( (para2)para2)刪除指定個刪除指定個數(shù)數(shù)( (para3)para3),用用para4para4的表達(dá)式插入的表達(dá)式插入到刪除數(shù)據(jù)的位置。到刪除數(shù)據(jù)的位置。SUBSTRING
34、SUBSTRINGSELECT SUBSTRING SELECT SUBSTRING ( (WeatherWeather,2 2,2)2)返回返回eaea,它是字符串的其中一它是字符串的其中一部分。它返回表達(dá)式從參數(shù)部分。它返回表達(dá)式從參數(shù)2 2位置位置開始的參數(shù)開始的參數(shù)3 3指定的長度的字符串。指定的長度的字符串。UPPERUPPERSELECT SELECT UPPER(UPPER(RichardRichard) )返回返回RICHARDRICHARD,將指定字符串轉(zhuǎn)將指定字符串轉(zhuǎn)換為大寫形式返回。換為大寫形式返回。* 思索:查詢報紙的稱號、聯(lián)絡(luò)人、號碼,要求報紙的稱號以思索:查詢報紙的
35、稱號、聯(lián)絡(luò)人、號碼,要求報紙的稱號以大寫方式顯示。大寫方式顯示。SELECT UPPER(cNewspaperName) as NewspaperName,SELECT UPPER(cNewspaperName) as NewspaperName, vContactPerson vContactPerson,cPhonecPhoneFROM NewspaperFROM Newspaper* 思索:查詢位于思索:查詢位于HoustonHouston的招聘代理的稱號、地址和聯(lián)絡(luò)。的招聘代理的稱號、地址和聯(lián)絡(luò)。要求地址只顯示前要求地址只顯示前1010個字符。個字符。SELECT cName,LEFT
36、(vAddress) as Address,cPhoneSELECT cName,LEFT(vAddress) as Address,cPhoneFROM RecruitmentAgenciesFROM RecruitmentAgenciesWHERE cCity=HoustonWHERE cCity=Houstonq SQL SERVER SQL SERVER函數(shù)函數(shù)- -日期時間函數(shù)日期時間函數(shù)函數(shù)名函數(shù)名參數(shù)參數(shù)描述描述DATEADDDATEADD( (datepartdatepart,number,date),number,date)把把datepartdatepart的的number
37、number加入到加入到datedateDATEDIFFDATEDIFF( (datepartdatepart,date1,date2) ,date1,date2) 計算兩個日期之差,單位由計算兩個日期之差,單位由datepartdatepart指定。指定。DATENAMEDATENAME( (datepartdatepart,date),date)以字符值返回指定日期的以字符值返回指定日期的datepartdatepartDATEPARTDATEPART( (datepartdatepart,date),date)以整數(shù)值返回指定日期的以整數(shù)值返回指定日期的datepartdatepartG
38、ETDATEGETDATE()()返回當(dāng)期日期和時間返回當(dāng)期日期和時間注:注:datepartdatepart為日期部件,詳細(xì)取值見后續(xù)。為日期部件,詳細(xì)取值見后續(xù)。datepartdatepartabbrabbrvaluevalueyearyearyy,yyyyyy,yyyyquarterquarterqq,q qq,q monthmonthmm,mmm,mday of yearday of year dy,ydy,y1-3661-366daydaydd,ddd,d1-311-31weekweekwk,wwwk,ww1-531-53weekdayweekdaydwdw1-71-7datepa
39、rtdatepartabbrabbrvaluevaluehourhourhhhh0-230-23minuteminutemi,nmi,n0-590-59secondsecondss,sss,s0-590-59millisecondmillisecondmsms0-9990-999* 思索:校園招聘的建議截止日期是招聘過程開場后的第思索:校園招聘的建議截止日期是招聘過程開場后的第1010天天。需求顯示一份包含公司正在訪問的一切學(xué)院的學(xué)院代碼、招聘。需求顯示一份包含公司正在訪問的一切學(xué)院的學(xué)院代碼、招聘起始日期、招聘的建議截止日期的報表。起始日期、招聘的建議截止日期的報表。SELECT cColl
40、egeCode,dRecruitmentStartDate, SELECT cCollegeCode,dRecruitmentStartDate, DeadLine=DATEADD(dd,10,dRecruitmentStartDate) DeadLine=DATEADD(dd,10,dRecruitmentStartDate)FROM CampusRecruitmentFROM CampusRecruitment* 思索:需求一份面試進(jìn)度表。打印出外部候選人的姓名,面思索:需求一份面試進(jìn)度表。打印出外部候選人的姓名,面試者的職位代碼,面試的任務(wù)日即星期幾。試者的職位代碼,面試的任務(wù)日即星期幾
41、。SELECT vFirstNameSELECT vFirstName,vLastName, vLastName, 面試日面試日= DATENAME(dw,dInterviewDate) DATENAME(dw,dInterviewDate) FROM ExternalCandidateFROM ExternalCandidate* 思索:對于思索:對于pubspubs數(shù)據(jù)庫的數(shù)據(jù)庫的titlestitles表,打印每本書的書名和出表,打印每本書的書名和出版日期。要求打印格式如:版日期。要求打印格式如:書籍書籍的出版日期是的出版日期是20192019年年8 8月月6 6日。日。SELECT S
42、ELECT 書籍書籍的出版日期是的出版日期是+ + DATENAME(yyyy,pubdate)+ DATENAME(yyyy,pubdate)+ 年年+ DATENAME(mm,pubdate)+ DATENAME(mm,pubdate)+ 月月+ DATENAME(dd,pubdate)+ DATENAME(dd,pubdate)+ 日日FROM titlesFROM titlesq SQL SERVER SQL SERVER函數(shù)函數(shù)- -數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)函數(shù)名函數(shù)名參數(shù)參數(shù)函數(shù)名函數(shù)名參數(shù)參數(shù)ABSABS(numeric)(numeric)LOGLOG(float)(float)ACOS
43、,ASIN,AACOS,ASIN,ATANTAN(float)(float)LOG10LOG10(float)(float)COS,SIN, COS,SIN, COT,TANCOT,TAN(float)(float)PIPI()()DEGREESDEGREES(numeric)(numeric)POWERPOWER(n,int)(n,int)EXPEXP(float)(float)RADIANSRADIANS(numeric)(numeric)FLOORFLOOR(numeric)(numeric)RANDRAND(seed)(seed)ROUNDROUND(n,integer)(n,inte
44、ger) SQRTSQRT(float)(float)* 思索:查詢外部候選人思索:查詢外部候選人Helen WhiteHelen White的測試成果。要求成果的測試成果。要求成果被舍入到最接近的整數(shù)。要求輸出的信息包括她的姓名、號碼和被舍入到最接近的整數(shù)。要求輸出的信息包括她的姓名、號碼和按要求顯示的測試成果。按要求顯示的測試成果。SELECT vFirstNameSELECT vFirstName,vLastNamevLastName,cPhonecPhone, ROUND(siTestScore ROUND(siTestScore,0)0)FROM externalCandidateF
45、ROM externalCandidateq SQL SERVER SQL SERVER函數(shù)函數(shù)- -系統(tǒng)函數(shù)系統(tǒng)函數(shù)函數(shù)函數(shù)定義定義HOST_ID()HOST_ID()返回客戶進(jìn)程中當(dāng)前主進(jìn)程的返回客戶進(jìn)程中當(dāng)前主進(jìn)程的IDID號碼號碼HOST_NAME()HOST_NAME()返回客戶進(jìn)程中當(dāng)前的主機名返回客戶進(jìn)程中當(dāng)前的主機名SUSER_SID(SUSER_SID(loginloginnamename)返回與用戶登錄名對應(yīng)的安全標(biāo)識號(返回與用戶登錄名對應(yīng)的安全標(biāo)識號(SIDSID)SUSER_SNAME(SID)SUSER_SNAME(SID) 返回與用戶安全標(biāo)識號對應(yīng)的登錄名。返回與
46、用戶安全標(biāo)識號對應(yīng)的登錄名。 系統(tǒng)函數(shù)提供一種查詢系統(tǒng)函數(shù)提供一種查詢SQL SERVERSQL SERVER系統(tǒng)表的方法。系統(tǒng)表系統(tǒng)表的方法。系統(tǒng)表是一組表、是一組表、SQL SERVERSQL SERVER運用它們存儲用戶、數(shù)據(jù)庫、表和平運用它們存儲用戶、數(shù)據(jù)庫、表和平安性的信息。安性的信息。函數(shù)函數(shù)定義定義USER_ID(USER_ID(name_in_dbname_in_db) ) 返回與用戶名對應(yīng)的數(shù)據(jù)庫標(biāo)示號返回與用戶名對應(yīng)的數(shù)據(jù)庫標(biāo)示號USER_NAME(user_id)USER_NAME(user_id)返回與數(shù)據(jù)庫標(biāo)識號對應(yīng)的用戶名返回與數(shù)據(jù)庫標(biāo)識號對應(yīng)的用戶名DB_ID(D
47、B_ID(db_namedb_name) )返回數(shù)據(jù)庫的返回數(shù)據(jù)庫的IDID號。號。DB_NAME(SID)DB_NAME(SID)返回數(shù)據(jù)庫名。返回數(shù)據(jù)庫名。OBJECT_ID(OBJECT_ID(objnameobjname) )返回數(shù)據(jù)庫對象返回數(shù)據(jù)庫對象IDID號。號。OBJECT_NAME(OBJECT_NAME(obj_idobj_id) )返回數(shù)據(jù)庫對象名。返回數(shù)據(jù)庫對象名。q SQL SERVER SQL SERVER函數(shù)函數(shù)- -轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù) CONVERT CONVERT函數(shù)用于把數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型。函數(shù)用于把數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型。( (當(dāng)當(dāng) SQ
48、L SERVERSQL SERVER不能隱含轉(zhuǎn)換數(shù)據(jù)類型時需求該函數(shù)。不能隱含轉(zhuǎn)換數(shù)據(jù)類型時需求該函數(shù)。) ) 語法:語法:CONVERT(datatype(length),expression,style)CONVERT(datatype(length),expression,style) datatype datatype 是系統(tǒng)定義的數(shù)據(jù)類型不可用自定義;是系統(tǒng)定義的數(shù)據(jù)類型不可用自定義; length length是是charchar、varcharvarchar等數(shù)據(jù)類型的可選參數(shù);等數(shù)據(jù)類型的可選參數(shù); expression expression是需求轉(zhuǎn)換數(shù)據(jù)類型的有效表達(dá)式;是需
49、求轉(zhuǎn)換數(shù)據(jù)類型的有效表達(dá)式; style style是把日期型數(shù)據(jù)轉(zhuǎn)換為字符串類型時的數(shù)據(jù)表示式樣是把日期型數(shù)據(jù)轉(zhuǎn)換為字符串類型時的數(shù)據(jù)表示式樣 函數(shù)函數(shù)CASTCAST提供和提供和CONVERTCONVERT類似的功能;類似的功能; 語法:語法:CAST(expression as datatype)CAST(expression as datatype);* 例子:將例子:將TitlesTitles表的表的Ytd_SalesYtd_Sales字段的數(shù)據(jù)轉(zhuǎn)換成字符數(shù)據(jù)字段的數(shù)據(jù)轉(zhuǎn)換成字符數(shù)據(jù)類型輸出。類型輸出。SELECT Ytd_sales=CONVERT(CHAR(10),Ytd_sal
50、es)SELECT Ytd_sales=CONVERT(CHAR(10),Ytd_sales)FROM TitlesFROM TitlesSELECT Ytd_sales=CAST(Ytd_sales AS char(10)SELECT Ytd_sales=CAST(Ytd_sales AS char(10)FROM TitlesFROM Titles* 幾個數(shù)據(jù)類型轉(zhuǎn)換的例子。幾個數(shù)據(jù)類型轉(zhuǎn)換的例子。SELECT CONVERT(intSELECT CONVERT(int,zipzipFROM AuthorsFROM AuthorsSELECT The rate of+Title+ is$
51、+ SELECT The rate of+Title+ is$ + CONVERT(varchar(10) CONVERT(varchar(10),zipzipFROM TitlesFROM Titles* 日期時間數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)類型的例子。日期時間數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)類型的例子。SELECT TitleSELECT Title,CONVERT(char(10)CONVERT(char(10),pubdate,2pubdate,2FROM TitlesFROM Titles 本例,本例,pubdatepubdate由日期轉(zhuǎn)換為字符類型,且日期以由日期轉(zhuǎn)換為字符類型,且日期以YY.MM.DDY
52、Y.MM.DD格式顯示,這是由于在函數(shù)中指定的格式顯示,這是由于在函數(shù)中指定的stylestyle的值為的值為2 2。 CONVERT CONVERT函數(shù)中運用函數(shù)中運用stylestyle值,當(dāng)數(shù)據(jù)在字符和日期類型之間轉(zhuǎn)值,當(dāng)數(shù)據(jù)在字符和日期類型之間轉(zhuǎn)換時,用于指出日期的格式。換時,用于指出日期的格式。stylestyleoutputoutputstylestyleoutputoutput1 1mm/dd/yymm/dd/yy101101mm/dd/yyyymm/dd/yyyy2 2yy.mm.ddyy.mm.dd102102yyyy.mm.ddyyyy.mm.dd3 3dd/mm/yydd
53、/mm/yy103103dd/mm/yyyydd/mm/yyyy4 4dd.mm.yydd.mm.yy104104dd.mm.yyyydd.mm.yyyy5 5dd-mm-yydd-mm-yy105105dd-mm-yyyydd-mm-yyyy0 or 1000 or 100mon dd yyyy hh:mm(AM or PM)mon dd yyyy hh:mm(AM or PM)q SQL SERVER- SQL SERVER-管理數(shù)據(jù)庫管理數(shù)據(jù)庫v 系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫v SQL SERVER SQL SERVER有以下系統(tǒng)數(shù)據(jù)庫:有以下系統(tǒng)數(shù)據(jù)庫:v master masterv tem
54、pdb tempdbv model modelv msdb msdb master master 主數(shù)據(jù)庫記錄了效力器系統(tǒng)的一切系統(tǒng)級的信息。包括授權(quán)主數(shù)據(jù)庫記錄了效力器系統(tǒng)的一切系統(tǒng)級的信息。包括授權(quán)用戶、數(shù)據(jù)庫、系統(tǒng)配置設(shè)置。另外、主數(shù)據(jù)庫記錄了一切其他用戶、數(shù)據(jù)庫、系統(tǒng)配置設(shè)置。另外、主數(shù)據(jù)庫記錄了一切其他數(shù)據(jù)庫的信息,如數(shù)據(jù)庫文件的位置、初始化信息等等。假設(shè)數(shù)據(jù)庫的信息,如數(shù)據(jù)庫文件的位置、初始化信息等等。假設(shè)mastermaster數(shù)據(jù)庫出現(xiàn)缺點、那么數(shù)據(jù)庫出現(xiàn)缺點、那么SQL SERVERSQL SERVER效力無法啟動。效力無法啟動。 主數(shù)據(jù)庫堅持了控制主數(shù)據(jù)庫堅持了控制SQL
55、SERVERSQL SERVER操作的大部分關(guān)鍵數(shù)據(jù),在操作的大部分關(guān)鍵數(shù)據(jù),在主數(shù)據(jù)庫上不給用戶任何權(quán)限是明智的。并且,堅持主數(shù)據(jù)庫的主數(shù)據(jù)庫上不給用戶任何權(quán)限是明智的。并且,堅持主數(shù)據(jù)庫的定期備份是非常重要的。定期備份是非常重要的。 tempdb tempdb tempdb tempdb是暫時數(shù)據(jù)庫,用來存放暫時數(shù)據(jù)。是暫時數(shù)據(jù)庫,用來存放暫時數(shù)據(jù)。tempdbtempdb數(shù)據(jù)庫可數(shù)據(jù)庫可以堅持的暫時數(shù)據(jù)有:暫時表、暫時存儲過程、變量、游標(biāo)、排以堅持的暫時數(shù)據(jù)有:暫時表、暫時存儲過程、變量、游標(biāo)、排序的中間結(jié)果表、查詢中間的結(jié)果等。序的中間結(jié)果表、查詢中間的結(jié)果等。 tempdb temp
56、db數(shù)據(jù)庫的大小會隨著操作的多少而變化,操作越多,數(shù)據(jù)庫的大小會隨著操作的多少而變化,操作越多,暫時數(shù)據(jù)庫就越大。在暫時數(shù)據(jù)庫就越大。在SQL SERVERSQL SERVER重啟時,會自動重建重啟時,會自動重建tempdbtempdb數(shù)數(shù)據(jù)庫,使得系統(tǒng)在啟動時自動會有一個干凈的據(jù)庫,使得系統(tǒng)在啟動時自動會有一個干凈的tempdbtempdb數(shù)據(jù)庫。數(shù)據(jù)庫。tempdbtempdb沒有必要備份。沒有必要備份。 model model model model是模板數(shù)據(jù)庫,當(dāng)在是模板數(shù)據(jù)庫,當(dāng)在SQL SERVERSQL SERVER中創(chuàng)建新的數(shù)據(jù)庫時,中創(chuàng)建新的數(shù)據(jù)庫時,SQL SERVERSQ
57、L SERVER都會以都會以modelmodel數(shù)據(jù)庫為模板創(chuàng)建新數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫數(shù)據(jù)庫為模板創(chuàng)建新數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫發(fā)出發(fā)出CREATE DATABASECREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫時,語句創(chuàng)建數(shù)據(jù)庫時,SQL SERVERSQL SERVER會經(jīng)過復(fù)會經(jīng)過復(fù)制制modelmodel數(shù)據(jù)庫的內(nèi)容來創(chuàng)建數(shù)據(jù)庫的第一部分,然后用空頁來數(shù)據(jù)庫的內(nèi)容來創(chuàng)建數(shù)據(jù)庫的第一部分,然后用空頁來填充新的數(shù)據(jù)庫的剩余部分。填充新的數(shù)據(jù)庫的剩余部分。 msdb msdb msdb msdb也是也是SQL SERVERSQL SERVER系統(tǒng)運用的數(shù)據(jù)庫,通常由系統(tǒng)運用的數(shù)據(jù)庫,通常由SQL SERV
58、ERSQL SERVER代理用來方案警報和作業(yè)。另外有關(guān)數(shù)據(jù)庫備份和復(fù)原的記錄,代理用來方案警報和作業(yè)。另外有關(guān)數(shù)據(jù)庫備份和復(fù)原的記錄,也會寫在該數(shù)據(jù)庫里面。也會寫在該數(shù)據(jù)庫里面。v 用戶數(shù)據(jù)庫用戶數(shù)據(jù)庫v SQL SERVER SQL SERVER創(chuàng)建用戶數(shù)據(jù)庫的語法:創(chuàng)建用戶數(shù)據(jù)庫的語法:vCREATE DATABASE database_name CREATE DATABASE database_name ON ON ,.n ,.n , ,.n , ,.n LOG ON ,.n LOG ON ,.n COLLATE collation_name COLLATE collation_nam
59、e FOR LOAD | FOR ATTACH FOR LOAD | FOR ATTACH v := :=v PRIMARY PRIMARY ( NAME = logical_file_name , ( NAME = logical_file_name , FILENAME = os_file_name FILENAME = os_file_name , SIZE = size , SIZE = size , MAXSIZE = max_size | UNLIMITED , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increme
60、nt ) ,.n , FILEGROWTH = growth_increment ) ,.n v := :=vFILEGROUP filegroup_name ,.n FILEGROUP filegroup_name ,.n 數(shù)據(jù)庫文件和文件組數(shù)據(jù)庫文件和文件組 每個每個SQL SERVERSQL SERVER的數(shù)據(jù)庫至少要包含兩個文件:一個數(shù)據(jù)文的數(shù)據(jù)庫至少要包含兩個文件:一個數(shù)據(jù)文件和一個日志文件。數(shù)據(jù)文件里包含的是數(shù)據(jù)庫的數(shù)據(jù)和對象,件和一個日志文件。數(shù)據(jù)文件里包含的是數(shù)據(jù)庫的數(shù)據(jù)和對象,如表、視圖、索引等;日志文件里包含的是用來恢復(fù)數(shù)據(jù)庫所需如表、視圖、索引等;日志文件里包含的是用來恢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度產(chǎn)業(yè)園品牌推廣及市場合作合同3篇
- 2025年度濟(jì)南旅游開發(fā)合作合同2篇
- 2025版文化藝術(shù)行業(yè)崗位勞動合同規(guī)范匯編3篇
- 二零二五年度冠梁材料供應(yīng)與安裝承包合同3篇
- 二零二五年度房屋買賣合同:針對共有產(chǎn)權(quán)及子女入學(xué)權(quán)益3篇
- 2025年度版權(quán)許可使用合同:數(shù)字音樂平臺著作權(quán)授權(quán)協(xié)議2篇
- 皮帶修復(fù)課程設(shè)計
- 海南外國語職業(yè)學(xué)院《西方思想文化專題研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南外國語職業(yè)學(xué)院《環(huán)保設(shè)備基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南體育職業(yè)技術(shù)學(xué)院《建筑力學(xué)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 科勒衛(wèi)浴行業(yè)分析
- 湖南省邵陽市初中聯(lián)考2023-2024學(xué)年九年級上學(xué)期期末地理試題
- 美術(shù)概論課件
- 綠籬移栽施工方案
- 機器人論文3000字范文
- 中國保險行業(yè)協(xié)會-2022年度商業(yè)健康保險經(jīng)營數(shù)據(jù)分析報告
- 新人教版小學(xué)五年級數(shù)學(xué)上冊知識點歸納總結(jié)
- 四年級上冊口算、豎式計算、脫式計算
- 腎內(nèi)科降低透析器凝血發(fā)生率品管圈PDCA成果匯報
- 回族做禮拜的念詞集合6篇
- 臺區(qū)線損綜合分析臺區(qū)線損分類及計算方法
評論
0/150
提交評論