Java數據庫之SQL server數據查詢(一)_第1頁
Java數據庫之SQL server數據查詢(一)_第2頁
Java數據庫之SQL server數據查詢(一)_第3頁
Java數據庫之SQL server數據查詢(一)_第4頁
Java數據庫之SQL server數據查詢(一)_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據查詢(一)第四章回顧以下代碼有什么錯誤?1、INSERTINTOStudents(SName,SAddress,SGrade,SEmail)VALUES(‘張無忌’,‘上海’,6)2、INSERTINTOStudents(SCode,SName,SAddress,SGrade,SEmail)VALUES(100,‘張三豐’,‘杭州',6,'ZSF@S')3、INSERTINTOStudentsInfo('姓名','地址','電子郵件')SELECTSName,SAddress,SEmailFROMStudents4、UpdateStudentsSetSName=‘胡斐’SetSSex=‘女‘WhereSName=‘胡非‘5、DeleteSNamefromStudents預習檢查1.ORDERBY語句有什么作用?2.常用的聚合函數有哪些?本章任務使用SQL語句對學生數據庫進行各項查詢操作本章目標理解查詢的機制使用SELECT語句進行基本查詢使用LIKE、BETWEEN、IN進行模糊查詢使用TOP語句限制返回行數使用ORDERBY對數據進行排序使用DISTINCT消除重復項使用聚合函數使用GROUPBY進行分組查詢什么是查詢客戶程序查詢請求查詢結果集SQLSERVERABCDEFG

SELECT*FROMSALES查詢產生一個虛擬表,看到的是表形式顯示的結果,但結果并不真正存儲,每次執行查詢只是現從數據表中提取數據,并按照表的形式顯示出來如何查詢學員編號學員姓名地址所在班級…….001張明全湖南長沙S201002李菲湖北宜昌S202003于寄謙甘肅天水S204004劉國正山東荷澤S201005周接輪臺灣新竹S204006鞏小妹香港龍灣S203007鞏大妹香港龍灣S203008張明敏北京順義S202009矛十八四川棉陽S204010羅林光陜西臨潼S202011司馬坡新疆喀什S201SELECT*FROMStudentsHWHERE所在班級=‘S202’S202陜西臨潼羅林光010…S202湖北宜昌李菲002S202北京順義張明敏008查詢的基本語法SELECT<列名>FROM<表名>[WHERE

<查詢條件表達式>][ORDERBY<排序的列名>[ASC或DESC]]

列名稱SELECT

SCode,SName,SAddress

表名FROMStudents查詢條件WHERE

SGrade=‘5’排序條件ORDERBY

SCodeSELECT SCode,SName,SAddressFROM StudentsWHERE SGrade=‘5’ORDERBY SCode數據查詢-基礎查詢全部的行和列SELECT*FROMStudents

查詢部分行SELECT

SCode,SName,SAddressFROMStudentsWHERE

SAddress=‘襄樊'SELECT

SCode,SName,SAddressFROMStudentsWHERESAddress<>‘襄樊'數據查詢-列名使用AS來命名列SELECTSCode

AS

學員編號,SNameAS學員姓名,SAddressAS

學員地址

FROMStudentsWHERESAddress<>‘襄樊’SELECTSCode

+‘:’

+SNameAS

‘學員信息’

FROMStudents使用=來命名列SELECT‘學員信息’

=

SCode+’:’+SName

FROMStudents數據查詢-TOP限制行數限制固定行數SELECTTOP5SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’返回百分之多少行SELECTTOP20PERCENT

SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’數據查詢-排序升序排列按年級從小到大對學生進行排列:select*fromStudentsorderbySGrade降序排列按年級從大到小對學生進行排列:select*fromStudentsorderbySGradedesc數據查詢-排序按多列排序SELECTStudentIDAs學員編號,CourseIDas課程編號,ScoreAs成績

FROMScoreORDERBYCourseID,Score1、將ORDERBY后面的CourseID和Score的位置換一下,查詢結果顯示的方式相同嗎?2、要按課程號升序、成績降序排列該怎么實現?數據查詢-DISTINCTDISTINCT關鍵字可從SELECT語句的結果中除去重復的行。如果沒有指定DISTINCT,那么將返回所有行,包括重復的行。查詢學生表中有多少個不同的年級:selectdistinctSGradefromStudents查詢學生來自哪些不同的城市該如何實現?模糊查詢—LIKE查詢時,字段中的內容并不一定與查詢內容完全匹配,只要字段中含有這些內容SELECTSNameAS姓名FROMStudentsWHERESNameLIKE'張%'思考:以下的SQL語句:SELECT*FROM數據表WHERE編號LIKE'00[^8]%[A,C]%‘可能會查詢出的編號值為()。A、9890ACDB、007_AFFC、008&DCGD、KK8C模糊查詢—ISNULL把某一字段中內容為空的記錄查詢出來select*fromStudentswhereSEmailisnull把Students表中某些行的SEmail字段值刪掉后,使用ISNULL能查詢出來這些數據行嗎?模糊查詢—BETWEEN把某一字段中內容在特定范圍內的記錄查詢出來SELECTStudentID,ScoreFROMSCoreWHEREScoreBETWEEN60AND80上題中如果不使用“BETWEEN”可以實現嗎?模糊查詢—IN把某一字段中內容與所列出的查詢內容列表匹配的記錄查詢出來SELECTSNameAS學員姓名,SAddressAs地址FROMStudentsWHERESAddressIN('北京','廣州','上海')上題中如果不使用“IN”該如何實現?小結1.查詢電子郵件中帶有”w”的學生信息2.查詢地址是“武漢”或“上海”的學生信息3.查詢課程號為1的所有成績信息4.查詢成績表中分數最高的前三個分數聚合函數

聚合函數是SQL中很重要的一部分,聚合函數不是對某個記錄進行操作,而是對表中或查詢到的所有記錄進行操作。SQL支持的聚合函數如下表:聚合函數含義count(*)統計選擇的記錄的個數count()統計特定列中值的個數sum()計算總和avg()計算平均值max()求最大值min()求最小值聚合函數SUMselectsum(Score)as總成績fromScorewhereStudentID=10004AVGselectavg(Score)as平均成績fromScorewhereCourseID=2COUNT(*)selectcount(*)as人數fromstudents聚合函數注意:聚合函數不能直接用在WHERE后面作為查詢條件,如下的語句是錯誤的:selectStudentIDfromStudentswhereScore=max(Score)MAXselectmax(Score)fromScorewhereCourseID=2MINselectmin(Score)fromScorewhereCourseID=2問題如果不是統計所有人所有課程的總成績,而是想求每一門課的平均績或者每個人的所有課的總成績怎么辦?分組匯總第一門課6個成績取平均值第二門課6個成績取平均值第三門課5個成績取平均值分組查詢—GROUPBYSELECT

CourseID,AVG(Score)AS課程平均成績FROMScoreGROUPBYCourseID問題:只顯示課程平均成績大于75分的數據怎么辦?分組查詢—HAVINGSELECT

CourseID,AVG(Score)AS課程平均成績FROMScoreGROUPBYCourseID

HAVINGAVG(Score)>=75注意:在GROUPBY子句中,必須指定列的名稱,而且必須是出現在select之后除聚合函數外的所有列。

如下的語句是錯誤的:SELECTStudentID,CourseID,AVG(Score)

AS課程平均成績FROMScore

GROUPBYCourseID分組查詢—對比WHEREGROUPBYHAVINGWHERE子句從數據源中去掉不符合其搜索條件的數據GR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論