整合營銷服務商

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

          免費咨詢熱線:

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

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

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

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

          內連接

          語法:

          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; 

          在這里插入圖片描述


          主站蜘蛛池模板: 99精品国产高清一区二区三区| 一区二区在线免费视频| 国产精品污WWW一区二区三区| 无码人妻一区二区三区免费看| 亚洲AⅤ视频一区二区三区| 亚洲一区无码中文字幕| 精品一区二区三区高清免费观看| 日韩一区二区精品观看| 国产在线观看一区二区三区 | 久久久无码精品国产一区| 97精品国产福利一区二区三区| 国产一区二区三区免费| 国产精品熟女一区二区| 一区二区视频在线观看| 国产精品电影一区| 在线电影一区二区| 国产一区二区三区高清在线观看 | 久久综合一区二区无码| 国产suv精品一区二区6| 国产一区二区好的精华液| 国产精品亚洲专区一区| 亚洲男人的天堂一区二区| 国产成人无码一区二区在线播放| 日产精品久久久一区二区| 亚洲熟妇AV一区二区三区宅男| 制服美女视频一区| 国产日韩一区二区三免费高清| 久久精品一区二区三区中文字幕| 乱精品一区字幕二区| eeuss鲁片一区二区三区| 在线观看免费视频一区| 91一区二区视频| 国产凸凹视频一区二区| 日韩精品中文字幕无码一区| 曰韩人妻无码一区二区三区综合部| 在线|一区二区三区| 久久一区二区精品综合| 欧洲精品码一区二区三区免费看| 国产精品区一区二区三在线播放| 国产一区高清视频| 99在线精品一区二区三区|