sql 查询上个月的数据_数据分析-SQL 进阶篇 多表查询
知識點
一、表的加法
Union:刪除表中的重復值
union al:包含表中所有內容,包括重復值
二、表的聯結
聯結:join
聯結分為以下五種:
交叉聯結(cross join)又稱為笛卡爾積:將表中的每一行與另外表中的每一行聯結在一起,結果的行數為兩表行數的乘積。典型例子:撲克牌,實際業務應用較少,原因:a結果行數太多,需要花費大量運算成本和設備支持;b沒有實際價值;交叉聯結是其他聯結的基礎。
內聯結(inner join):查找出同時存在于兩組中的數據
左聯結(left join):將左側表中的數據取出來,將左側表為主表,將左側表中的數據全部取出來,右邊的表中只選出和左邊相同的學號的行。
右聯結(right join):會將右側表中的數據全部取出來
修改:left join 改為right join
全聯結(full join):在SQL中無法應用
三、聯結應用案例
1、 查詢所有學生的學號、姓名、選課數、總成績
2、 查詢平均成績大于85的所有學生的學號、姓名和平均成績
3、 查詢學生的選課情況:學號、姓名、課程號、課程名稱
四、case表達式
作用:幫助解決復雜的查詢問題,相當于進行一個條件判斷的函數,用來判斷每一行是否滿足某個條件。
在何種情況下使用:多種情況需要判斷時可以使用case表達式
注意:
1、 else子句可以省略不寫,默認為空值,建議不省略;
2、 end 子句不可省略;
3、 case表達式看寫在SQL任意子句中。
練習題
1、 查詢所有學生的學號、姓名、選課數、總成績
2、 查詢平均成績大于85的所有學生的學號、姓名和平均成績
3、 查詢學生的選課情況:學號、姓名、課程號、課程名稱
4、 查詢出每門課程的及格人數和不及格人數
5、 使用分段【100-85】,【85-70】,【70-60】,【<60】來統計各科出成績,分別統計各分段人數:課程ID和課程名稱
6、SQLzoo練習
總結
以上是生活随笔為你收集整理的sql 查询上个月的数据_数据分析-SQL 进阶篇 多表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的重点_python知识点
- 下一篇: 关于异性朋友