整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          數據庫學習筆記之數據庫查詢(二)

          數據庫學習筆記之數據庫查詢(二)

          這次主要總結一下多表連接查詢~~

          所謂連接查詢,就是指一個查詢同時涉及兩個或兩個以上的表,連接查詢又包括內連接、外連接和交叉連接等查詢用到的還是這個里面提到的那三個表

          內連接

          語法:

          SELECT ...
          FROM 表名 [INNER] JOIN
          被連接表
          ON <連接條件>

          例子:

          1、查詢每個學生及其選課的詳細信息

          SELECT * FROM Student INNER JOIN SC ON Student.Sno = SC.Sno;

          在這里插入圖片描述

          2、查詢計算機系學生的修課情況,要求列出學生的學號、名字、所修課的課程號和成績。

          SELECT Student.Sno, Student.Sname,SC.Cno, SC.Cno, SC.Grade 
          FROM Student JOIN SC 
          ON Student.Sno = SC.Sno 
          WHERE Student.Sdept = '計算機系';

          在這里插入圖片描述

          3、統計每個系的學生的考試平均成績

          SELECT Student.Sdept, AVG(Grade) 平均成績 
          FROM Student 
          JOIN SC 
          ON Student.Sno = SC.Sno 
          GROUP BY Sdept;
          

          在這里插入圖片描述

          4、統計計算機系每門課程的選課人數、平均成績、最高成績和最低成績。

          SELECT Cno, COUNT(*) 選課人數, AVG(Grade) 平均成績, MAX(Grade) 最高成績, MIN(Grade) 最低成績 
          FROM Student 
          JOIN SC 
          ON Student.Sno = SC.Sno 
          WHERE Student.Sdept = '計算機系' 
          GROUP BY Cno;

          在這里插入圖片描述

          自連接

          說明:

          自連接為特殊的內連接,相互連接的表物理上為同一張表;必須為兩個表取別名,使之在邏輯上成為兩個表。

          例:

          1、查詢與劉晨在同一個系學習的學生的姓名和所在的系

          SELECT S2.Sname, S2.Sdept 
          FROM Student S1 JOIN Student S2 
          ON S1.Sdept = S2.Sdept 
          WHERE S1.Sname = '劉晨' AND S2.Sname != '劉晨';

          在這里插入圖片描述

          2、查詢與“數據結構”學分相同的課程的課程名和學分

          SELECT c1.Cname, c1.Ccredit 
          FROM Course c1 JOIN Course c2 
          ON c1.Ccredit = c2.Ccredit 
          WHERE c2.Cname = '數據結構' ;

          在這里插入圖片描述

          外連接

          說明:

          只限制一張表中的數據必須滿足連接條件,而另一張表中數據可以不滿足連接條件

          語法:

          SELECT ...
          FROM1 
          LEFT | RIGHT [OUTER] JOIN2 
          ON <連接條件> 
          

          例:

          查詢學生的修課情況,包括修了課程的學生和沒有修課的學生

          如果用普通的查詢的話:

          SELECT Student.Sno, Sname, Cno, Grade
           FROM Student, SC
           WHERE Student.Sno = SC.Sno; 

          由于沒有選課的學生在SC表中就沒有記錄,所以這種查詢是查詢不到沒有修課的學生的記錄,查詢結果如圖:

          在這里插入圖片描述

          所以需要用到外連接查詢:

          左外連接查詢:

          SELECT Student.Sno, Sname, Cno, Grade 
          FROM Student 
          LEFT OUTER JOIN  SC 
          ON Student.Sno = SC.Sno; 

          右外連接查詢:

          SELECT Student.Sno, Sname, Cno, Grade 
          FROM SC 
          RIGHT OUTER JOIN  Student 
          ON Student.Sno = SC.Sno; 

          在這里插入圖片描述


          主站蜘蛛池模板: 中文字幕一区精品| 熟妇人妻系列av无码一区二区| 国产嫖妓一区二区三区无码 | 亚洲综合无码一区二区痴汉| 人妻在线无码一区二区三区| 中文字幕一区在线| 加勒比无码一区二区三区| 久久中文字幕一区二区| 久久国产精品免费一区二区三区| 中文字幕无码一区二区免费| AA区一区二区三无码精片| 中文字幕一区一区三区| 亚洲一区二区三区四区在线观看 | 变态拳头交视频一区二区| 欧洲精品一区二区三区在线观看| 免费无码A片一区二三区| 精品国产一区二区二三区在线观看 | 日本一区二区三区精品视频| 国产视频一区在线播放| 一区二区三区四区在线播放| 久久AAAA片一区二区| 色噜噜狠狠一区二区三区果冻 | 国产在线一区二区三区av| 日韩高清一区二区三区不卡| 日本一区二区三区中文字幕| 国产激情一区二区三区 | 无码中文字幕人妻在线一区二区三区 | 日韩电影一区二区三区| 亚洲综合无码一区二区| 中文字幕av日韩精品一区二区| 国精产品一区一区三区有限公司| 四虎在线观看一区二区| 国产一区二区三区夜色| 无码毛片视频一区二区本码| 国产一区二区在线视频播放| 国产免费无码一区二区| 国产裸体舞一区二区三区| 亚洲AV无码一区二区二三区软件 | 日本伊人精品一区二区三区| 亚洲丰满熟女一区二区哦| 综合无码一区二区三区|