MySQL數據庫(五)——表聯合查詢

一、內查詢:將兩個表中同時存在的數據打印。

表1 inner join 表2 on 表1.屬性 = 表2.屬性

 

二、外查詢:right | left

表1 left join 表2 on 表1.屬性 = 表2.屬性

1、左連接:

(1)將左表和右表相同屬性值的結果返回;

(2)將左表存在,而右表不存在的也返回;

(3)右表對應屬性值爲null,將右表存在、左表不存在的忽略掉。

表1 right join 表2 on 表1.屬性 = 表2.屬性

2、右連接:

(1)將左表和右表相同屬性值的結果返回;

(2)將右表存在、而左表不存在的數據也返回;

(3)左表不存在的屬性值爲null,將左表存在、右表不存在的忽略掉。

 

練習:

1、學生表
Student(SID,Sname,Sage,Ssex) 
--SID 學生編號,Sname 學生姓名,Sage 年齡,Ssex 學生性別

2.課程表
Course(CID,Cname,TID) 
--CID --課程編號,Cname 課程名稱,TID 教師編號

3.教師表
Teacher(TID,Tname) 
--TID 教師編號,Tname 教師姓名

4.成績表
SC(SID,CID,score) 
--SID 學生編號,CID 課程編號,score 分數

學生表:
編號  姓名  年齡  性別
1    趙雷  20    男
2    錢電  20    男
3    孫風  21    男
4    吳蘭  18    女
5    孫蘭  17    女
課程表:
課程號  課程名稱  教師編號
1       語文     2
2       數學     1
3       英語     3
教師表:
教師編號   教師名
1         張三
2         李四
3         王五
成績表:
學生編號   課程編號   分數
1         1         80
1         2         71
1         3         87
2         1         88
2         2         70
2         3         89
3         1         68
3         2         78
3         3         87
4         1         67
4         2         58
4         3         89
5         1         56
5         2         89
6         3         38

(1)查詢“01”課程比“02”課程成績高的學生的信息及課程分數:

 

(2)查詢平均成績大於等於60分的同學的學生編號、學生姓名和平均成績:

(3)查詢在SC表中不存在成績的學生的信息:

(4)查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績:

(5)查詢"李"姓老師的數量:

(6)查詢學過"張三"老師授課的同學的信息:

(7)查詢學過編號爲"01"並且也學過編號爲"02"的課程的同學的信息:

(8)查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章