![數(shù)據庫復雜語句_第1頁](http://file4.renrendoc.com/view/2ae86b273ec359965122e459e96c7c44/2ae86b273ec359965122e459e96c7c441.gif)
![數(shù)據庫復雜語句_第2頁](http://file4.renrendoc.com/view/2ae86b273ec359965122e459e96c7c44/2ae86b273ec359965122e459e96c7c442.gif)
![數(shù)據庫復雜語句_第3頁](http://file4.renrendoc.com/view/2ae86b273ec359965122e459e96c7c44/2ae86b273ec359965122e459e96c7c443.gif)
![數(shù)據庫復雜語句_第4頁](http://file4.renrendoc.com/view/2ae86b273ec359965122e459e96c7c44/2ae86b273ec359965122e459e96c7c444.gif)
![數(shù)據庫復雜語句_第5頁](http://file4.renrendoc.com/view/2ae86b273ec359965122e459e96c7c44/2ae86b273ec359965122e459e96c7c445.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1課程名稱:sql語句(二)2知識點概述2.1、本次預備講解的知識點1、表之間的關聯(lián)關系2、多表的查詢3、分組統(tǒng)計4、分頁查詢用Navicat8forMysql連接數(shù)據庫基本操作如圖:1、建立連接2、填寫連接信息4、雙擊要打開的數(shù)據庫(db_temp)文件?查看②工具⑴窗口址I幫助?連接管理用戶視圖 存儲過程 事件查詢宣1墨備份計畫任務連接information_schemaJmysqlperformanceschema連接information_schemaJmysqlperformanceschematest _程務過任圖懵件詢表份畫視存爭查報備計I靜創(chuàng)逹查詢㈣.0查詢(0位于目前的組)剖corm.ection.one0查詢(0位于目前的組)5、單擊右鍵,創(chuàng)建dept、emp表dept表emp表數(shù)據庫中的表一般存在三種關聯(lián)關系1、一對一2、一對多、多對一3、多對多表之間的的關聯(lián)關系,通過“外鍵”來體現(xiàn),外鍵的作用就是建立表之間的關聯(lián)關系,外鍵一般在多方表。一個表可以有多個“外鍵“用Navicat8forMysql設計外鍵,操作如圖:1、右鍵--選擇設計表2、選擇創(chuàng)建欄位
3、添加如下選項
4、選擇外鍵,按如下步驟填寫外鍵信息
5、填寫完外鍵信息選保存此刻dept表、emp表就建立的一對多的關聯(lián)關系。關聯(lián)關系是為了保證數(shù)據庫中數(shù)據的完整性3.2、多表查詢如果查詢使用一個以上的表就成為多表查詢在Navicat8中寫SQL語句,則需使用查詢窗體如圖所示:1、右鍵單擊查詢Vavicat8forIySQL rZHl□IIX文件?查看迪工具①)窗口址I幫助?*2連接 管理用戶連接conns匚tiori_on亡一「盪圖儲件表視存事國備n計informs創(chuàng)建組刷新mysqlperforinance_schematest備份*2連接 管理用戶連接conns匚tiori_on亡一「盪圖儲件表視存事國備n計informs創(chuàng)建組刷新mysqlperforinance_schematest備份I計畫任務)sS創(chuàng)逹查詢㈣4刪除查詢迫0查詢(0位于目前的蛆).■■-■■■-■=]'coriTLectionone 用.戶「0查詢(0位于目前的蛆)2、查詢編輯選項中即可寫SQL語句
3.2.1、多表查詢基本語法多表查詢語法如下:SELECT{DISTINCT}*|表名?列名1別名1?列明,表名?列名2,別名2?列明,…FROM表名稱1別名1,表名稱2別名2{WHERE條件{s}}{ORDERBY排序字段ASC|DESC,排序字段ASC|DESC}同時查詢dept、emp表SELECT*FROMdept,emp;查詢emp表的記錄數(shù)SELECTCOUNT(*)FROMemp查詢dept表的記錄數(shù)SELECTCOUNT(*)FROMdeptdept表4條記錄emp表7條記錄在使用多表時會產生笛卡爾乘積,4*7=28 條記錄,這些記錄中許多是重復信息,所以在查詢多表時要使用關聯(lián)字段作為條件,去掉笛卡爾乘積在dept表和emp表中關聯(lián)的字段是:dept表的deptid字段與emp表的deptid,而且emp的deptid字段的值都來自dept的deptid,即dept.deptid二emp.empid去掉笛卡爾乘積的查詢?yōu)椋篠ELECT*FROMdept,empWHEREdept.deptid=emp.deptid使用多表查詢,建議使用別名查詢員工編號,員工姓名,員工性別,員工年齡,員工地址,所屬部門名稱|-此查詢包含了員工表中的信息,部門表中的信息,故使用多表查詢SELECTB.empid,B.empname,B.empsex,B.empage,B.empaddress,A.deptnameFROMdeptA,empBWHEREA.deptid=B.deptid3.2.2、左、右連接查詢在多表查詢中還有一種查詢方式,稱為內連接查詢,語法如下:SELECT{DISTINCT}*|表名?列名1別名1?列明,表名?列名2,別名2?列明,…FROM表名稱1別名11NNERJOIN表名稱2別名2,…ON關聯(lián)條件{WHERE條件{s}}{ORDERBY排序字段ASC|DESC,排序字段ASC|DESC}查詢部門表和員工表信息SELECT*FROMdeptINNERJOINempONdept.deptid二emp.deptid內連接查詢其實就是去掉笛卡爾乘積的多表關聯(lián)查詢,注意:只查詢關聯(lián)字段,沒有關聯(lián)的不查詢左連接查詢SELECT*FROMdeptLEFTJOINempONdept.deptid=emp.deptid以左邊的表作為標準,無論關聯(lián)與否左邊表都查詢右連接查詢SELECT*FROMdeptRIGHTJOINempONdept.deptid=emp.deptid以右邊的表作為標準,無論關聯(lián)與否右邊表都查詢
3.3、組函3.3、組函及分組統(tǒng)計、如需查詢員工表中的性別為"男"或"女”的員工個數(shù),則需要SQL語句中分組統(tǒng)計功能。1、分組在SQL中用“GROUPBY”語法如下:SELECT{DISTINCT}*|列名1別名1,列名2,別名2,...FROM表名稱1別名1{WHERE條件{s}}GROUPBY分組條件{ORDERBY排序字段ASC|DESC,排序字段ASC|DESC}注意:groupby的位置以性別為標準對員工進行分組SELECTempsexFROMempGROUPBYempsex注意:單獨使用分組條件時,以什么字段作為分組條件,那么查詢字段就必須是什么字段2、SQL中常用的統(tǒng)計函數(shù)~COUNT():全部的記錄數(shù)~MAX():最大值~MIN():最小值~AVG():平均數(shù)~SUN():求和查詢員工總數(shù)SELECTCOUNT⑴FROMempcount(1)中填寫“1”有助于提高查詢效率查詢員工年齡的最大值SELECTMAX(empage)'年齡最大值'FROMemp查詢員工年齡最小值SELECTMIN(empage)'年齡最小值’FROMemp查詢員工年齡的平均值SELECTAVG(empage)'年齡的平均值'FROMemp查詢所有部門人數(shù)之和SELECTSUM(deptnum)'部門人數(shù)之和'FROMdept注意:分組函數(shù)中使用的通常都是數(shù)值類型的字段,或日期類型字段3、分組統(tǒng)計的綜合應用查詢員工信息表中“男“、”女“員工的個數(shù)分析:|-以性別作為標準進行分組卜使用COUNT()統(tǒng)計函數(shù)SELECTempsex'性別:COUNT(empid)'員工人數(shù)'FROMempGROUPBYempsex查詢每個部門的員工人數(shù)分析:|-查詢使用到了多表|-以部門編號作為分組標準卜使用COUNT()統(tǒng)計函數(shù)SELECTA.deptid'部門編號',COUNT(B.empid)'部門人數(shù)'FROMdeptA,empBWHEREA.deptid=B.deptidGROUPBYA.deptid查詢每個部門的員工的平均年齡分析:|-查詢使用到了多表|-以部門編號作為分組標準卜使用AVG()統(tǒng)計函數(shù)SELECTA.deptid'部門編號',AVG(B.empage)'部門平均年齡'FROMdeptA,empBWHEREA.deptid=B.deptidGROUPBYA.deptid注意:在使用分組的時候,不能出現(xiàn)分組條件和分組函數(shù)之外的字段4、HAVING的使用HAVING是在分組的基礎上進行篩選,語法如下:SELECT{DISTINCT}*|列名1別名1,列名2,別名2,...FROM表名稱1別名1{WHERE條件{s}}GROUPBY分組條件{HAVING分組條件}{ORDERBY排序字段ASC|DESC,排序字段ASC|DESC}查詢員工平均年齡在22歲之上所屬部門編號分析|-以部門編號作為分組標準|-分組后,條件篩選使用AVG()函數(shù)SELECTdeptid'部門編號’FROMempWHEREtrueGROUPBYdeptidHAVINGAVG(empage)>22小結:只在某列中出現(xiàn)重復,才需要分組,否則沒有意義3.4、分頁語句如果數(shù)據特別多,一次在頁面中展示不完,我們就需要用到分頁展示數(shù)據,這就需要分頁的sql語句mysql分頁的關鍵字為:LIMITX,YX為起始的記錄數(shù)(排除前幾條記錄開始),Y為每次展示的記錄個數(shù)(分頁標準)語法如下:SELECT{DISTINCT}*|列名1別名1,列名2,別名2,...FROM表名稱1別名1{WHERE條件{s}}{ORDERBY排序字段ASC|DESC,排序字段ASC|DESC}{UM1TXM查詢員工表中的前兩條記錄SELECT*FROMempLIMITO,2查詢員工表中的第3、4條記錄SELECT*FROMempLIMIT2,2查詢員工表中的第5、6條記錄SELECT*FROMempLIMIT4,2查詢員工表中的第7、8條記錄SELECT*FROMempLIMIT6,2綜上mysql中的分頁語句為:SELECT{DISTINCT}*|列名1別名1,列名2,別名2,...FROM表名稱1別名1{WHERE條件{s}}{ORD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年五年級班主任工作總結下模版(三篇)
- 2025年二手房中介購房合同標準版本(三篇)
- 2025年中外來料加工或來件裝配合同樣本(三篇)
- 住宅小區(qū)石材裝修合同模板
- 2025年度安全風險評估與費用預算合同
- 民航器材物流承攬合同模板
- 貴州球場塑膠跑道施工方案
- 保險公司單項裝修合同
- 寵物醫(yī)院裝飾協(xié)議
- 藝術顧問提成方案
- 國開行政管理論文行政組織的變革及其現(xiàn)實性研究
- 運動技能學習中的追加反饋
- 高中體育與健康-足球-腳內側傳球射門技術(第二課時)教學課件設計
- 《淄博張店區(qū)停車問題治理現(xiàn)狀及優(yōu)化對策分析【開題報告+正文】15000字 》
- 常用電子元器件基礎知識演示
- GB/T 32918.4-2016信息安全技術SM2橢圓曲線公鑰密碼算法第4部分:公鑰加密算法
- 2023年藥事法規(guī)教學案例庫及案例分析
- 北京市水務安全生產風險評估指南
- 吸引器教學講解課件
- 醫(yī)學心理學人衛(wèi)八版66張課件
- 仿古建筑施工常見質量通病及防治措施
評論
0/150
提交評論