查询去除空值_SQL数据处理(五):SQL多表查询
生活随笔
收集整理的這篇文章主要介紹了
查询去除空值_SQL数据处理(五):SQL多表查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 表的加法
加法(union)。合并兩張數據表course和course1/去除重復行重合
【select 課程號,課程名稱 from course union select 課程號,課程名稱 from course1;】 輸出結果兩個表合并的數據若要保留重復的行數據(union all)
【select 課程號,課程名稱 from course union all select 課程號,課程名稱 from course1;】 輸出結果兩個表合并的數據,保留重復數據二. 表的聯結
2.1 交叉聯結(cross jion):笛卡爾積指將表中的每一行逗魚另一個表中的每一行合并在一起
例如課程表(crouse)和課程表1(crouse1)進行交叉聯結得到6行數據
2.2 內聯結(inner jion):
- 學生表與成績表通過學號進行內聯結合并為一張表
2.3 左聯結(left jion):
-- 學生表與成績表通過學號進行左聯結合并為一張表
【select a.學號,a.姓名,b.課程號 from student as a left join score as b on a.學號 = b.學號;】 輸出結果 0001=李彥宏=0001、0001=李彥宏=0002、0002=李彥宏=空值獲取因為左聯結忽略的數據
【select a.學號,a.姓名,b.課程號 from student as a left join score as b on a.學號 = b.學號 where 課程號 is Null;】 輸出結果0002=李彥宏=空值2.4 右聯結(right jion):
-- 學生表與成績表通過學號進行右聯結合并為一張表
【select a.學號,a.姓名,b.課程號 from student as a right join score as bon a.學號 = b.學號 where b.學號 = Null;】 輸出結果 0001=李彥宏=0001、0001=李彥宏=0002、空值=空值=0003獲取因為右聯結忽略的數據
【select a.學號,a.姓名,b.課程號 from student as a right join score as b on a.學號 = b.學號 where a.學號 is Null;】 輸出結果空值=空值=課程號2.5 全聯結(full jion):
三. 聯結應用案例
- 查詢所有學生的學號,姓名,選課數,總成績
- 查詢平均成績大于60的所有學生的學號、姓名和平均成績
- 查詢學生的選課情況:學號,姓名,選課號,課程名稱
四. case表達式
4.1 定義:
使用case表達式可以解決復雜的條件判斷,用來判斷每一行數據是否滿足指定條件
case when <判斷表達式> then <表達式>when <判斷表達式> then <表達式>when <判斷表達式> then <表達式>......else <表達式> end若滿足“when判斷表達式”條件則執行“then表達式”,若不滿足則執行下一個“when判斷表達式”。若不滿足所有的“when判斷表達式”則執行“else表達式”
4.2 注意事項
4.3 練習題
- 定義成績數據表中的成績數據是否及格
- 查詢每門課程的及格人數和不及格人數
- 使用分段[100-85],(85-70],(70,60],(60,-]來統計各科成績,分別統計:各分數段的人數,課程號,和課程名稱
四. 聯結總結
文氏圖:SQL的聯結形式
總結
以上是生活随笔為你收集整理的查询去除空值_SQL数据处理(五):SQL多表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python基础知识-pycharm版
- 下一篇: python股票历史最低点_Python