版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)查詢基礎第九章INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('張青裁','上海松江',6,'ZQC@S')INSERTINTOStudents(SCode,SName,SAddress,SGrade,SEmail,SSEX)VALUES(100,'張青裁','上海松江',6,'ZQC@S',0)INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('張青裁','上海松江',6,'ZQC@S',0)回顧和作業(yè)點評2-1向Students表中插入一條記錄如果SCode為標識列,向Students表中插入一條記錄字段個數(shù)不一致代碼改錯不能為標識列字段賦值INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('張青裁','上海松江',6,'ZQC@S',0)2/38INSERTINTOStudentsInfo('姓名','地址','電子郵件')
SELECTSName,SAddress,SEmailFROMStudents一次插入多條學生記錄INSERTINTOStudentsInfo(姓名,地址,電子郵件)SELECTSName,SAddress,SEmailFROMStudentsUPDATEStudentsSETSName='胡斐'SETSSex='1'WHERESName='胡非'回顧和作業(yè)點評2-2UPDATEStudentsSETSName='胡斐',SSex='1'WHERESName='胡非'字段名不需要單引號出現(xiàn)了2個SET子句代碼改錯修改學生記錄3/38回顧和作業(yè)點評2-2預習檢查從學生表中查詢?nèi)康臄?shù)據(jù),SQL語句怎么寫?查詢排序使用的關鍵字是什么?4/38提問查詢學生信息查詢考試信息本章任務5/38本章目標掌握查詢的機制使用SELECT語句進行條件查詢使用表達式、運算符和函數(shù)實現(xiàn)查詢掌握查詢排序6/38什么是查詢客戶端程序SQLServerSELECT*FROMSales查詢產(chǎn)生一個虛擬表看到的是表形式顯示的結果,但結果并不真正存儲每次執(zhí)行查詢只是從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來ABCDEFG
查詢結果集查詢請求7/38學生編號學生姓名地址所在班級……001張明全湖南長沙S201002李菲湖北宜昌S202003于寄謙甘肅天水S204004劉國正山東荷澤S201005周接輪臺灣新竹S204006鞏小妹香港龍灣S203007鞏大妹香港龍灣S203008張明敏北京順義S202009矛十八四川棉陽S204010羅林光陜西臨潼S202011司馬坡新疆喀什S201SELECT*FROMStudentsWHERE所在班級='S202'S202陜西臨潼羅林光010…S202湖北宜昌李菲002S202北京順義張明敏008查詢機制簡介8/38SELECT<列名>FROM<表名>[WHERE
<查詢條件表達式>][ORDERBY<排序的列名>[ASC或DESC]]SELECT
SCode,SName,SAddressFROM
StudentsWHERE
SSEX=0ORDERBY SCode查詢語法語法示例列名稱表名過濾條件排序條件SELECTSCode,SName,SAddressFROMStudentsWHERE
SSEX=0ORDERBY
SCode9/38SELECT*FROMStudents數(shù)據(jù)查詢基礎2-1SELECT*FROMCourseSELECTSName,SAddressFROMStudents查詢學生的姓名和地址示例查詢?nèi)康男泻土胁樵儾糠至?0/38數(shù)據(jù)查詢基礎2-2SELECTSName,SGradeFROMStudentsWHERE
SAddress='北京'SELECTSName,SAddressFROMStudentsWHERESsex=1查詢“北京”地區(qū)的學生姓名和年級查詢女學生姓名和地址演示示例1:簡單數(shù)據(jù)查詢示例查詢部分行和列11/38SELECTSCodeAS
學生編號,SName
AS
學生姓名,SAddressAS
學生地址FROMStudentsWHERESAddress<>'河南新鄉(xiāng)'SELECTFirstName+'.'+LastNameAS姓名FROMEmployees注意:1.+連接的數(shù)據(jù)類型必須兼容2.如果
+連接字符型數(shù)據(jù),結果為字符串數(shù)據(jù)的連接3.如果+連接數(shù)值型數(shù)據(jù),結果為數(shù)值的和數(shù)據(jù)查詢-列別名示例SELECT
姓名
=
FirstName+'.'+LastNameFROMEmployees示例演示示例2:列別名查詢使用AS命名列使用等號命名列12/38數(shù)據(jù)查詢-空行、常量列原來有數(shù)據(jù),但數(shù)據(jù)被清除的列如何查詢?SELECT姓名=SName,地址=SAddress,'北京新興橋'AS學校名稱FROMStudents演示示例3:查詢空值、常量列提問示例示例查詢空行使用常量列13/38SELECTSNameFROMStudentsWHERESEmailISNULL數(shù)據(jù)查詢-限制行數(shù)與取固定的數(shù)據(jù)行相比,提取固定百分比數(shù)據(jù)還能得到何種信息?SELECTTOP5
SName,SAddressFROMStudentsWHERESSex=0SELECTTOP20PERCENTSName,SAddressFROMStudentsWHERESSex=0提問演示示例4:查詢限制行數(shù)列示例限制固定行數(shù)按百分數(shù)返回行14/38學員操作——查詢學生相關基本信息需求說明:查詢?nèi)縎1的學生信息查詢?nèi)縎2的學生的姓名和電話查詢?nèi)縎1女同學的信息查詢課時超過60的科目信息練習完成時間:10分鐘15/38學員操作—查詢學生相關復雜信息2-1訓練要點使用SELECT語句查詢數(shù)據(jù)需求說明查詢S2的科目名稱查詢S2男同學的姓名和住址查詢無電子郵件的學生姓名和年級信息查詢出生日期在1993年之后的S2的學生姓名和年級信息查詢參加了日期為2013年2月15日的“HTML和CSS網(wǎng)頁技術”科目考試的成績信息指導講解需求說明16/38學員操作—查詢學生相關復雜信息2-2難點分析:注意各個表之間的關系,例如通過查看S1的年級編號在科目表中查詢對應科目SELECT
GradeId
FROM
Grade
WHERE
GradeName='S1'
完成時間:20分鐘指導17/38查詢單列排序SELECTStudentIDAS學生編號,(Score*0.9+5)AS綜合成績FROMScoreWHERE(Score*0.9+5)>60ORDERBYScoreSELECTStudentID,ScoreFROMScoreORDERBYScoreSELECTStudentID,ScoreFROMScoreORDERBYScoreDESC示例演示示例5:查詢排序升序排列降序排列18/38SELECTStudentIDAS學生編號,CourseIDAS課程ID,ScoreAS成績FROMScoreWHEREScore>60ORDERBYCourseID,Score1、如果成績按升序,課程編號按降序,該如何編寫?2、排序中的列,可以使用表達式嗎?
——
如果不可以,請說明原因——
如果可以,請舉例說明查詢多列排序演示示例5:查詢排序示例提問按多列排序19/38小結編寫SQL語句:1、查詢河北的男同學2、查詢考試成績前五名的分數(shù)現(xiàn)場編程20/38學員操作—使用排序查詢學生相關信息需求說明:查詢學生相關信息查詢科目相關信息查詢成績相關信息練習完成時間:25分鐘21/38常用的幾類函數(shù)字符串函數(shù)用于控制返回給用戶的字符串日期函數(shù)用于操作日期值數(shù)學函數(shù)用于對數(shù)值進行代數(shù)運算系統(tǒng)函數(shù)獲取有關SQLServer中對象和設置的系統(tǒng)信息SQLServer中的函數(shù)22/38函數(shù)名描述示例CHARINDEX尋找一個指定的字符串在另一個字符串中的起始位置SELECTCHARINDEX('JBNS','My
JbnsCourse',1)返回:4LEN返回傳遞給它的字符串長度SELECTLEN('SQLServer課程')返回:12UPPER把傳遞給它的字符串轉換為大寫SELECTUPPER('sqlserver課程')返回:SQLSERVER課程LTRIM清除字符左邊的空格SELECTLTRIM('周智宇')返回:周智宇(后面的空格保留)RTRIM清除字符右邊的空格SELECTRTRIM('周智宇')返回:周智宇(前面的空格保留)RIGHT從字符串右邊返回指定數(shù)目的字符SELECTRIGHT('買賣提.吐爾松',3)返回:吐爾松REPLACE替換一個字符串中的字符SELECTREPLACE('莫樂可切.楊可','可','蘭')返回:莫樂蘭切.楊蘭STUFF在一個字符串中,刪除指定長度的字符,并在該位置插入一個新的字符串SELECTSTUFF('ABCDEFG',2,3,'我的音樂我的世界')返回:A我的音樂我的世界EFG字符串函數(shù)23/38日期函數(shù)函數(shù)名描述示例GETDATE取得當前的系統(tǒng)日期SELECTGETDATE()返回:今天的日期DATEADD將指定的數(shù)值添加到指定的日期部分后的日期SELECTDATEADD(mm,4,'01/01/2009')返回:以當前的日期格式返回05/01/2009DATEDIFF兩個日期之間的指定日期部分的間隔SELECTDATEDIFF(mm,'01/01/2009','05/01/2009')返回:4DATENAME日期中指定日期部分的字符串形式SELECTDATENAME(dw,'01/01/2000')返回:Saturday或星期六DATEPART日期中指定日期部分的整數(shù)形式SELECTDATEPART(day,'01/15/2000')返回:1524/38數(shù)學函數(shù)函數(shù)名描述示例RAND返回從0到1之間的隨機float值SELECTRAND()返回:0.79288062146374ABS取數(shù)值表達式的絕對值SELECTABS(-43)返回:43CEILING取大于或等于指定數(shù)值、表達式的最小整數(shù)SELECTCEILING(43.5)返回:44FLOOR取小于或等于指定表達式的最大整數(shù)SELECTFLOOR(43.5)返回:43POWER取數(shù)值表達式的冪值SELECTPOWER(5,2)返回:25ROUND將數(shù)值表達式四舍五入為指定精度SELECTROUND(43.543,1)返回:43.500SIGN對于正數(shù)返回+1,對于負數(shù)返回-1,對于0則返回0SELECTSIGN(-43)返回:-1SQRT取浮點表達式的平方根SELECTSQRT(9)返回:325/38系統(tǒng)函數(shù)函數(shù)名描述示例CONVERT用來轉變數(shù)據(jù)類型SELECTCONVERT(VARCHAR(5),12345)返回:字符串12345CURRENT_USER返回當前用戶的名字SELECTCURRENT_USER返回:你登錄的用戶名DATALENGTH返回用于指定表達式的字節(jié)數(shù)SELECTDATALENGTH('中國A聯(lián)盟')返回:5HOST_NAME返回當前用戶所登錄的計算機名字SELECTHOST_NAME()返回:你所登錄的計算機的名字SYSTEM_USER返回當前所登錄的用戶名稱SELECTSYSTEM_USER返回:你當前所登錄的用戶名USER_NAME從給定的用戶ID返回用戶名SELECTUSER_NAME(1)返回:從任意數(shù)據(jù)庫中返回“dbo”26/38案例1—問題某公司印了一批充值卡,卡的密碼是隨機生成的,現(xiàn)在出現(xiàn)這個問題:
卡里面的字母“O和數(shù)字0”、“字母i和數(shù)字1”,用戶反映說看不清楚,公司決定,把存儲在數(shù)據(jù)庫中的密碼中所有的“O”都改成“0”,把所有的“i”都改成“1”;請編寫SQL語句實現(xiàn)以上要求數(shù)據(jù)庫表名:Card密碼列名:PassWord問題27/38案例1—分析實現(xiàn)卡密碼更新的功能,需要使用UPDATE語句牽涉到字符串的替換,需要使用到SQLServer中的函數(shù)REPLACE()分析28/38案例1—T-SQL兩行SQL語句UPDATECardSETPassWord=REPLACE(PassWord,'O','0')UPDATECardSETPassWord=REPLACE(PassWord,'i','1')一行SQL語句UPDATE
CardSET PassWord=REPLACE(REPLACE(PassWord,'O','0'),'i','1')演示示例6:修改卡密碼29/38案例2—問題在數(shù)據(jù)庫表中有以下字符數(shù)據(jù),如:
13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、13-15、14-1、14-2現(xiàn)在希望通過SQL語句進行排序,并且首先要按照前半部分的數(shù)字進行排序,然后再按照后半部分的數(shù)字進行排序,輸出要排成這樣:
13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2數(shù)據(jù)庫表名:SellRecord列名:ListNumber問題30/38案例2—分析排序:ORDERBY在ORDERBY的排序列中,需要重新計算出排序的數(shù)字前半部分的數(shù)字:找到“-”符號的位置取其左半部分使用CONVERT函數(shù)將其轉換為數(shù)字:后半部分的數(shù)字:找到“-”符號的位置把從第一個位置到該位置的全部字符替換為空格使用CONVERT函數(shù)將其轉換為數(shù)字:0CONVERT(INT,LEFT(ListNumber,CHARINDEX('-',ListNumber)-1))CONVERT(INT,STUFF(ListNumber,1,CHARINDEX('-',ListNumber),''))分析31/38SELECTListNumberFROMSellRecordORDERBYCONVERT(int,LEFT(ListNumber,CHARINDEX('-',ListNumber)-1)),CONVERT(int,ST
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年甘肅客運從業(yè)資格證操作考試內(nèi)容
- 2023年北京市初三一模道德與法治試題匯編:綜合探究題
- 吉首大學《民法總論》2021-2022學年第一學期期末試卷
- 吉首大學《動態(tài)網(wǎng)站設計》2021-2022學年期末試卷
- 吉林藝術學院《影視語言技巧》2021-2022學年第一學期期末試卷
- 吉林藝術學院《書法》2021-2022學年第一學期期末試卷
- 車輛賠償協(xié)議書范本文版
- 私人房屋轉贈協(xié)議書范文模板
- 吉林師范大學《中國地理》2021-2022學年第一學期期末試卷
- 2022年江西省公務員錄用考試《申論》真題(行政執(zhí)法類卷)及答案解析
- 1.繪畫的多元化 (3)
- Q∕GDW 12108-2021 電力物聯(lián)網(wǎng)全場景安全技術要求
- 2022年《藝術學概論》知識點超經(jīng)典總結
- 醫(yī)院醫(yī)療精神科危險物品管理PPT課件講義
- AECOPD病例分享
- (完整版)電線電纜載流量表
- GB-T-7975-2005 紙和紙板顏色的測定(漫反射法)
- 項目建設管理模式0704
- 公務員考試公文寫作與處理試題及參考答案(全)
- 渝價〔2013〕430號
- 海明斯德謙產(chǎn)品說明
評論
0/150
提交評論