版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
T-SQL&SQLServer數(shù)據(jù)庫開發(fā)目標熟悉SQLServer管理開發(fā)環(huán)境理解和運用主要的SQL語法能夠編寫SQLServer函數(shù)和存儲過程掌握根本的SQLServer數(shù)據(jù)庫開發(fā)知識進度安排共3次課開發(fā)環(huán)境、T-SQL介紹SQL
Server編程結(jié)構(gòu)、函數(shù)、存儲過程應(yīng)用開發(fā):Reporting
,
NotificationSQLServer概述SQLServer歷史SQLServer特點SQLServer2005組件結(jié)構(gòu)SQLServer2005開發(fā)介紹IntroductionSQLServer開展歷史……SQLServer6.0/6.5---1995/1996SQLServer7.0---1998SQLServer2000SQLServer2005SQLServer2005的特性企業(yè)級,集成的數(shù)據(jù)管理平臺擴展的,高效的編程開發(fā)平臺完備的數(shù)據(jù)倉庫和分析平臺SQLServer2005主要組件SQLServer2005RelationalDatabaseEngine.NETCLRAnalysisServicesNativeHTTPSupportServiceBrokerReplicationReportingServicesFull-TextSearchNotificationServicesSQLServerIntegrationServicesSQLServer2005組件關(guān)系基于T-SQL的數(shù)據(jù)庫開發(fā)
DML,DDL,DCLT-SQL程序開發(fā):函數(shù),存儲過程等SQLServer開發(fā)內(nèi)容基于.NetFramework的組件開發(fā)
.Net存儲過程,函數(shù),聚合函數(shù)等
應(yīng)用開發(fā)
Reporting,Notification,WebService開發(fā)等商務(wù)智能開發(fā)
SSIS
Package,SSAS
Cube等基于T-SQL的數(shù)據(jù)庫開發(fā)
DML,DDL,DCLT-SQL程序開發(fā):函數(shù),存儲過程等SQLServer開發(fā)內(nèi)容基于.NetFramework的組件開發(fā)
.Net存儲過程,函數(shù),聚合函數(shù)等
應(yīng)用開發(fā)
Reporting,Notification,WebService開發(fā)等商務(wù)智能開發(fā)
SSIS
Package,SSAS
Cube等進度安排共3次課開發(fā)環(huán)境、T-SQL介紹SQL
Server編程結(jié)構(gòu)、函數(shù)、存儲過程應(yīng)用開發(fā):Reporting
,
Notification本次課程具體安排開發(fā)環(huán)境SSMS介紹/實踐根底T-SQL介紹/實踐高級T-SQL介紹/實踐QA&總結(jié)SQLServer管理開發(fā)環(huán)境--ManagementStudio介紹SQLServer主要工具ManagementStudio—集成的數(shù)據(jù)管理、查詢、瀏覽平臺BIDevelopmentStudio—商務(wù)智能工程開發(fā)平臺ConfigurationManager—效勞、網(wǎng)絡(luò)配置SurfaceAreaConfiguration—功能配置DatabaseEngineTuningAdvisor&SQLProfierSQLCmd命令行工具SQLServer主要工具ManagementStudio—集成的數(shù)據(jù)管理、查詢、瀏覽平臺BIDevelopmentStudio—商務(wù)智能工程開發(fā)平臺ConfigurationManager—效勞、網(wǎng)絡(luò)配置SurfaceAreaConfiguration—功能配置DatabaseEngineTuningAdvisor&SQLProfierSQLCmd命令行工具
ManagementStudio建立在VisualStudio之上,它提供用于數(shù)據(jù)庫管理的圖形工具和開發(fā)環(huán)境。
SSMS能夠配置系統(tǒng)環(huán)境和管理SQLServer及所有的SQLServer對象。
同時,SSMS提供了SQL,
MDX、DMX,XMLA和XML編輯運行環(huán)境。Management
Studio概述Management
Studio界面解決方案資源管理器對象資源管理器查詢編輯器/結(jié)果欄利用對象資源管理器可以完成的功能包括:管理SQLServer效勞器;管理數(shù)據(jù)庫;管理表、視圖、存儲過程等數(shù)據(jù)庫對象,管理備份,恢復,復制數(shù)據(jù)庫等活動管理用戶登錄系統(tǒng)權(quán)限等平安設(shè)置;設(shè)置作業(yè)、警報、操作員等管理屬性SSMS—ObjectExplorerSQLServer對象效勞器實例數(shù)據(jù)庫表,視圖,存儲過程,索引,觸發(fā)器,主鍵,外鍵,約束,默認值列數(shù)據(jù)類型:int,char,varchar,nvarchar,datetime,float,bit,money,xml,創(chuàng)立數(shù)據(jù)庫,別離和附加數(shù)據(jù)庫;創(chuàng)立表創(chuàng)立視圖生成SQL腳本SSMS—ObjectExplorerFunctionDemo功能豐富的文字編輯環(huán)境允許離線編輯語句能夠迅速查看語句的執(zhí)行結(jié)果,并以圖形化來顯示執(zhí)行方案集成SQL,MDX,DMX等多種語言SSMS—QueryEditorSSMS—QueryEditorFunctionDemo方便的組織SQLServer腳本代碼增強了代碼的版本控制和管理功能模板工程的出現(xiàn)提高了開發(fā)效率SSMS—SolutionExplorerSSMS—SolutionExplorerFunctionDemo本次課程具體安排開發(fā)環(huán)境SSMS介紹/實踐根底T-SQL介紹/實踐高級T-SQL介紹/實踐QA&總結(jié)T-SQL根底介紹T-SQL介紹SQLServer專用的編程語言支持SQL-99標準對SQL做了大量擴充編程語言〔控制流、變量等〕SQL結(jié)構(gòu)化查詢語言SQL-99標準功能:查詢、操縱、定義、控制使用方式:獨立執(zhí)行嵌入宿主語言執(zhí)行數(shù)據(jù)定義語句〔DDL〕定義數(shù)據(jù)庫對象CREATEobject_nameALTERobject_nameDROPobject_nameDDL例如一〔創(chuàng)立表〕Createtableemp_info( Idchar(10)notnullprimarykey, Namevarchar(50), Sexchar(2), Ageint)要求:表名:emp_info,主鍵:id列數(shù)據(jù)類型長度允許空
idchar10否
namevarchar50是
sexchar2是
ageint4是CREATEVIEWvwEmpNameListASSELECTId,NameFROMemp_infoDDL例如二〔創(chuàng)立視圖〕創(chuàng)立視圖語法:Createviewview_name[column_name,…]ASSelectstatement[withcheckoption]Example數(shù)據(jù)控制語句〔DCL〕設(shè)置或修改權(quán)限GRANTDENYREVOKEUSEnorthwindGRANTSELECTONproductsTOpublicGOExample數(shù)據(jù)操縱語句〔DML〕修改數(shù)據(jù)或檢索信息INSERTUPDATEDELETESELECTINSERT
emp_info(Id,
Name,
Sex,
Age)VALUES(‘1100000001’,’ZHANG
SAN’,
‘01’,10)DML例如--INSERTINSERT語法:INSERT<table_name>(Col1,Col2…)Values(…)ExampleUPDATE
emp_infoSET
Name=‘ZHANG
SHAN’WHERE
Id=‘1100000001’,DML例如--UPDATEUPDATE語法:UPDATE<table/view>Set<col>=valueWHERE<condition>ExampleDELETE
FROM
emp_infoWHERE
Id=‘1100000001’,DML例如--DELETEDELETE語法:DELETEFROM
<table/view>WHERE<condition>ExampleSelect語句的局部語法<select_list>:選取哪些列<table_source>:從哪些表選取數(shù)據(jù)<search_condition>:搜索條件SELECT[ALL|DISTINCT]<select_list>
FROM{<table_source>}[,…n]
WHERE<search_condition>選取所有列使用”*”選取所有列:Select*fromemployees顯示employee的所有行、所有列可能會造成漫長的查詢,盡量防止使用這種語句選取指定列employeeidlastnamefirstnametitle1DavolioNancySalesRepresentative2FullerAndrewVicePresident,Sales3LeverlingJanetSalesRepresentative4PeacockMargaretSalesRepresentative5BuchananStevenSalesManager6SuyamaMichaelSalesRepresentative7KingRobertSalesRepresentative8CallahanLauraInsideSalesCoordinator9DodsworthAnneSalesRepresentativeUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesGO修改列名對列名進行操作有3種方式Col_namecol_aliasCol_alias=col_nameCol_nameAScol_aliasUSEnorthwindSELECT LastNameFamilyName_1, FamilyName_2=LastName, LastNameASFamilyName_3FROMEmployees
GO計算列查詢時列可以進行運算,生成計算列USEnorthwindSELECTfirstname,lastname ,'Identificationnumber:',employeeidFROMemployees
GO計算列例如一USEnorthwindSELECTOrderID,CustomerID,'0.2'DiscountRateFROMdbo.Orders
GO常量表達式作為計算列列表達式作為計算列USEnorthwindSELECTFirstName+'‘+LastNameASFullName FROMEmployees
GO計算列例如二USEnorthwindSELECTOrderID,YEAR(OrderDate)ASOrderYearFROMdbo.Orders
GO函數(shù)表達式作為計算列過濾數(shù)據(jù)在Where字句指定搜索條件過濾數(shù)據(jù)比較操作符邏輯操作符范圍查找—BETWEEN,IN關(guān)鍵字空值查詢(NULL)模糊查詢使用TOP返回表中前面的一局部數(shù)據(jù)使用Distinct刪除重復的行使用Top選擇行返回表中前面的一局部數(shù)據(jù);語法:Select[TOPinteger|TOPintegerPERCENT]Column_name[,…n]FROMtable_name例如TOP120/*返回120行*/TOP15PERCENT/*返回15%的數(shù)據(jù)行*/使用Distinct選擇行從返回的結(jié)果集中刪除重復的行語法:SELECT[ALL|DISTINCT][TOPn[PERCENT]]<select_list>...注意:distinct和top關(guān)鍵字出現(xiàn)的先后順序使用where子句選擇行employeeidlastnamefirstnametitle5BuchananStevenSalesManagerUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesWHEREemployeeid=5GO比較操作符比較操作符=,<,><>,!=,!>,!<,>=,<=防止使用!=,!>,!<這類比較操作符,他們會使查詢速度減慢。使用邏輯操作符使用邏輯操作符連接多個表達式邏輯操作符:ANDORNOT使用操作符例如USEnorthwindSELECTproductid,productname,supplierid,unitprice
FROMproducts
WHERE
(productnameLIKE'T%'ORproductid=46)
AND(unitprice>16.00)GO
productidproductnamesupplieridunitprice14Tofu623.2529ThüringerRostbratwurst12123.7962Tarteausucre2949.3NULL值NULL值未知或不使用〔NULL〕如何判斷某個字段是否為空:col_nameISNULLcol_name=NULL檢查某一列是否為空,使用ISNULL,ISNOTNULL。決不能使用‘=NULL’或‘!=NULL’??罩祬⑴c運算結(jié)果都是空值.NULL查詢例如USEnorthwindSELECTcompanyname,faxFROMsuppliersWHEREfaxISNULLGOcompanynamefaxExoticLiquidsNULLNewOrleansCajunDelightsNULLTokyoTradersNULLCooperativadeQuesos‘LasCabras’NULL……范圍查找對某一個范圍的數(shù)據(jù)的查找,我們可以把<,>以及And,OR結(jié)合起來用;使用between…and語句使用in語句注意:盡量防止使用NOT運算符,那樣會減慢查詢速度Notbetween…andNotin范圍查找--BETWEEN查找某一范圍的記錄語法:…[NOT]Between…And…USEnorthwindSELECTproductname,unitpriceFROMproductsWHEREunitpriceBETWEEN10AND20GOExampleUSEnorthwindSELECTproductname,unitpriceFROMproductsWHEREunitprice>=10ANDunitprice<=20GO范圍查找--IN使用IN關(guān)鍵字簡化對某一范圍的數(shù)據(jù)的檢索。USEnorthwindSELECTcompanyname,countryFROMsuppliersWHEREcountryIN('Japan','Italy')GOExampleUSEnorthwindSELECTcompanyname,countryFROMsuppliersWHEREcountry='Japan‘ORcountry='Italy')GO模糊查詢使用Like進行模糊查詢通配符%:任意多個任意字符_:單個任意字符[]:方括號內(nèi)列出的任一個字符[^]:任意一個沒在方括號內(nèi)列出的字符模糊查詢例如一USEnorthwindSELECTcompanynameFROMcustomersWHEREcompanynameLIKE'%Restaurant%'GOcompanynameGROSELLA-RestauranteLonesomePineRestaurantTortugaRestaurante返回公司名稱中含有Restaurant的所有客戶模糊查詢例如二返回公司名稱第二個字母為n的所有客戶USEnorthwindSELECTcompanynameFROMcustomersWHEREcompanynameLIKE'_n%'GOORDER
BY排序語法:[ORDERBY{order_by_expression[ASC|DESC]}[,...n]]order_by_expression:指定要排序的列。ASC:升序〔默認〕DESC:降序ORDERBY排序例如一USEnorthwindSELECTproductid,productname,categoryid,unitpriceFROMproductsORDERBYcategoryid,unitpriceDESCGOproductidproductnamecategoryidunitprice38CotedeBlaye1263.500043IpohCoffee146.00002Chang119.0000…………63Vegie-spread243.90008NorthwoodsCranberrySauce240.000061Siropd'érable228.5000…………對計算列進行排序SELECTOrderID,Freight*0.8AS'Cost'FROMdbo.OrdersORDERBY'Cost'ORDERBY排序例如二對未出現(xiàn)在選擇列表中的列進行排序。SELECTOrderID,CustomerIDFROMdbo.OrdersORDERBYFreight本次課程具體安排開發(fā)環(huán)境SSMS介紹/實踐根底T-SQL介紹/實踐高級T-SQL介紹/實踐QA&總結(jié)T-SQL高級查詢聚合函數(shù)〔AggregateFunctions〕Groupby分組多表連接子查詢T-SQL高級查詢聚合函數(shù)聚合函數(shù)聚合函數(shù)對一組值執(zhí)行計算并返回單一的值。主要聚合函數(shù)?AVG返回組中值的平均值??罩祵⒈缓雎?。COUNT返回組中項目的數(shù)量。MAX返返回表達式的最大值。MIN返回表達式的最小值。SUM返回表達式中所有值的和。聚合函數(shù)例如一Count語法:COUNT({[ALL|DISTINCT]expression]|*})USEnorthwindSELECTCOUNT(*)FROMemployees
GOUSEnorthwindSELECTCOUNT(DISTINCTreportsto)FROMemployeesGO
聚合函數(shù)例如二AVG語法:AVG([ALL|DISTINCT]expression)計算出titles表中所有商業(yè)類書籍的平均價格USEpubsGOSELECTAVG(price)FROMtitlesWHEREtype='business'使用聚合函數(shù)注意除COUNT(*)函數(shù)之外,聚合函數(shù)忽略空值。舉例:SELECTCOUNT(*)FROMtitlesSELECTCOUNT(price)FROMtitlesSelectavg(price)fromtitlesSelectsum(price)/count(price)fromtitlesSelectsum(price)/count(*)fromtitlesGROUPBY分組當需要按某一列數(shù)據(jù)的值進行分類,在分類的根底上對數(shù)據(jù)進行匯總統(tǒng)計,需要使用GROUPBY子句。Note:選擇列表中任一非聚合表達式內(nèi)的所有列都應(yīng)包含在GROUPBY列表中GROUPBY例如USEnorthwindSELECTproductid,orderid
,quantityFROMorderhist
GOSELECTproductid,SUM(quantity)AStotal_quantityFROMorderhistGROUPBYproductidproductidtotal_quantity115235345productidorderidquantity11511102110222531153230productidtotal_quantity235Onlyrowsthat
satisfytheWHEREclausearegroupedSELECTproductid,SUM(quantity)AStotal_quantityFROMorderhistWHEREproductid=2GROUPBYproductid用HAVING篩選結(jié)果當完成對數(shù)據(jù)結(jié)果的查詢和統(tǒng)計后,可以使用HAVING關(guān)鍵字對查詢和計算的結(jié)果進行進一步的篩選。HAVING和WHERE的區(qū)別WHERE子句搜索條件在進行分組操作之前應(yīng)用;而HAVING搜索條件在進行分組操作之后應(yīng)用。HAVING語法與WHERE語法類似,但HAVING可以包含聚合函數(shù)。HAVING子句可以引用選擇列表中出現(xiàn)的任意項。HAVING例如SELECTproductid,SUM(quantity)AStotal_quantityFROMorderhistGROUPBYproductidHAVINGSUM(quantity)>=30
productidtotal_quantity235345productidorderidquantity11511102110222531153230productidtotal_quantity115235345多表連接通過擴展select語句的from子句,可以從多個表中選擇字段。語法:FROMfirst_table<join_type>second_table[ON(join_condition)]連接分類內(nèi)連接:INNERJOIN〔默認類型〕外連接:OUTERJOIN左外連接:LEFTOUTERJOIN右外連接:RIGHTOUTERJOIN全外連接:FULLOUTERJOIN交叉連接:CROSSJOIN內(nèi)連接僅顯示兩個聯(lián)接表中的匹配行的聯(lián)接。SalesCustIDProIDQty114323151553711421003CustomerCustNameAdamBarrSeanChaiEvaCoretsErinO’MeliaCustID1234ResultCustnameAdamBarrAdamBarrErinO’MeliaEvaCoretsCustIDQty11431553711ErinO’Melia41003SELECTCustName,Sales.CustID,QtyFROMCustomer
INNERJOINSalesONCustomer.CustID=sales.CustID使用表別名優(yōu)點清晰簡明,增加語句的可讀性有利于編寫復雜的表連接操作語句;語法:table_nameAStable_aliastable_nametable_alias使用表別名例如SELECTCustName,s.CustID,QtyFROMCustomer
AScINNERJOINSalesASsONc.CustID=s.CustIDSELECTCustName,Sales.CustID,QtyFROMCustomer
INNERJOINSalesONCustomer.CustID=Sales.CustIDSELECTCustName,s.CustID,QtyFROMCustomer
c
INNERJOINSalessONc.CustID=s.CustID外連接返回FROM子句中至少一個表或視圖的所有行及連接表中匹配的列值,其它為空。SalesCustIDProIDQty114323151553711421003CustomerCustNameAdamBarrSeanChaiEvaCoretsErinO’MeliaCustID1234ResultCustnameAdamBarrAdamBarrErinO’MeliaEvaCoretsCustIDQty11431553711ErinO’Melia41003SELECTCustName,Sales.CustID,QtyFROMCustomer
LEFTJOINSalesONCustomer.CustID=sales.CustIDSeanChaiNullNull外連接例如一假設(shè)在city列上聯(lián)接authors表和publishers表。結(jié)果只顯示在出版商所在城市居住的作者。USEpubsSELECTa.au_fname,a.au_lname,p.pub_nameFROMauthorsaINNERJOINpublisherspONa.city=p.city外連接例如二但是如果使用左外連接…USEpubsSELECTa.au_fname,a.au_lname,p.pub_nameFROMauthorsaLEFTOUTERJOINpublisherspONa.city=p.cityORDERBYp.pub_nameASC,a.au_lnameASC,a.au_fnameASC交叉連接〔crossjoin〕交叉聯(lián)接返回左表中的所有行與右表中的所有行組合。交叉聯(lián)接也稱作笛卡爾積。如果表A有N條記錄,表B有M條記錄,那么交叉連接產(chǎn)生的結(jié)果集將會有N*M條記錄。交叉連接例如SELECTCustName,QtyFROMCustomerCROSSJOINSales
GOResultCustNameAdamBarr
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超重型汽車列車掛車工安全生產(chǎn)規(guī)范評優(yōu)考核試卷含答案
- 液晶顯示器件彩膜制造工操作管理考核試卷含答案
- 選礦脫水工創(chuàng)新意識評優(yōu)考核試卷含答案
- 電梯機械裝配工崗前工作能力考核試卷含答案
- 顏料化操作工風險評估強化考核試卷含答案
- 醫(yī)用供氣工操作安全水平考核試卷含答案
- 吸油煙機制作工操作強化考核試卷含答案
- 2024年河池學院輔導員考試筆試題庫附答案
- 2024年白銀市特崗教師筆試真題匯編附答案
- 2025寧夏回族自治區(qū)公務(wù)員考試《行測》題庫及參考答案
- 2026年1月福建廈門市集美區(qū)后溪鎮(zhèn)衛(wèi)生院補充編外人員招聘16人筆試備考試題及答案解析
- 2026年鄉(xiāng)村治理體系現(xiàn)代化試題含答案
- 2026年濟南工程職業(yè)技術(shù)學院單招綜合素質(zhì)考試參考題庫帶答案解析
- 甘肅省酒泉市普通高中2025~2026學年度第一學期期末考試物理(含答案)
- 2026 年高職應(yīng)用化工技術(shù)(化工設(shè)計)試題及答案
- 2026年山西供銷物流產(chǎn)業(yè)集團面向社會招聘備考題庫及一套完整答案詳解
- 城管執(zhí)法文書培訓課件
- 2026元旦主題班會:馬年猜猜樂新春祝福版 教學課件
- T∕ZZB 1815-2020 塑料 汽車配件用再生聚碳酸酯(PC)專用料
- 人工智能對中國新能源汽車出口技術(shù)復雜度的影響研究
- 小學食堂食品安全培訓記錄
評論
0/150
提交評論