日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql 相加_SQL多表查询

發布時間:2024/9/15 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 相加_SQL多表查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.表的加法

相加就是用union把兩個select語句相加,會去重;如果需要保留重復的行,用union all就可以了

二.表的聯結

聯結的幾種類型:

1.交叉聯結 2.內聯結 3.左聯結 4.右聯結 5.全聯結

一.交叉聯結 cross join(笛卡爾積)

兩個表的行數相乘就是最終的行數

在實際運用中很少用到,因為數據太多了,占用大量的設備空間,但是是后面所有聯結的基礎。

二.內聯結 inner join

查找出同時存在于兩張表中的數據,用文氏圖去記憶更直觀

select a.學號,a.姓名,b.課程號

from student as a inner join score as b

on a.學號=b.學號;

二.左聯結 left join

查找出左側表中的數據,用文氏圖記憶

三.右聯結 right join

將右側表中的數據全部取出來,文氏圖右邊的圈

四.全聯結 full join

Mysql不支持全聯結

當需要某個表的表頭或者特別指明要某個表的數據時,用 left join 或者 right join

其他情況用inner join

以下是重點:

如何用sql解決實際問題

問題:查詢所有學生的學號、姓名、選課數、總成績

1.學號、姓名(學生表student)

2.選課數(成績表score按學號分組,對課程號計數count)

3.總成績(成績表,按學號分組,對成績求和sum)

select a.學號,a.姓名,count(b.課程號) as 選課數,sum(b.成績) as 總成績

from

student as a left join score as b

on a.學號=b.學號

group by a.學號;

問題:查詢平均成績大于85的所有學生的學號、姓名、平均成績

1.學號、姓名(學生表student)

2.平均成績 (avg(成績)score 需要group by 學號 分組后再篩選平均成績用having)

select a.學號,a.姓名,avg(b.成績) as 平均成績

from student as a left join score as b

on a.學號=b.學號

group by a.學號

having avg(b.成績)>85;

問題:查詢學生的選課情況:學號、姓名、課程號、課程名稱

1.學號、姓名(student)

2.課程號,課程名稱(score、course)

select a.學號,a.姓名,c.課程號,c.課程名稱

from

student as a inner join score as b on a.學號=b.學號

inner join course as c on b.課程號=c.課程號;

case表達式

相當于進行條件判斷的函數,用來判斷每一行是不是滿足某個條件

case when<判斷表達式> then<表達式>

when<判斷表達式> then<表達式>

when<判斷表達式> then<表達式>

---

else<表達式>

end

內部運行邏輯:

查詢出每門課程的及格人數和不及格人數

select 課程號,

sum(case when 成績>=60 then 1

else 0

end) as 及格人數,

sum(case when 成績<60 then 1

else 0

end) as 不及格人數

from score

group by 課程號;

運行過程:

case表達式的注意事項

1.else表達式可以不寫,視為null,建議不要省略

2.case表達式可以寫在sql語句的任意子句里面

案例:

使用分段[100-85],[85-70],[70-60],[<60]來統計各科成績,分別統計:

各分數段人數,課程號,課程名稱

1的地方容易忘記加;2的地方可加可不加

總結

以上是生活随笔為你收集整理的sql 相加_SQL多表查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。