4-9 模糊條件查詢 - Like
4-9-1範例研討:查詢住在高雄市教師 (A)程式功能:Ex4_10 請查詢地址在高雄市老師的姓名(name)、電話(tel) 與地址(address),結果如下:
(B)系統分析: 由教師資料表(teachers) 中查詢地址有類似 “高雄市” 名稱。 (C)程式範例: Ex4_10 其中 % 表示任何字元。
4-9-2範例研討:查詢住在三民區學生 (A) 程式功能:Ex4_11 請查詢地址在高雄市三民區學生的姓名(name)、電話(tel) 與地址(address),結果如下:
(B)系統分析: 由學生資料表(teachers) 中查詢地址有類似 “高雄市” 與 “三民區”字樣者。 (C)程式範例: 其中 % 表示任何字元。
4-10 Group 與 Having 群組查詢 將查詢出來結果將某一欄位結果成一群組 (group),並可以利用 having 語句附加條件。 4-10-1範例研討:查詢教師開課數目 (A) 程式功能:Ex4_12 請查詢全校每一位老師開課數目,結果如下:
(B)系統分析: 全校教師開課課程皆登錄於 open_course 資料表內,可利用 (select * from open_course;) 查詢出所有教師開課課程,但我們可利用 order by 將同一位教師成一個群組,再利用 count(*) 計算每一群組的數目,如下圖所示。
(C)程式範例:
4-10-2範例研討:查詢開課超過 3 門老師 (A) 程式功能:Ex4_13 請查詢開課超過(含) 3 門課的老師代碼與開課數,結果如下:
(B) 系統分析: 同上題,但僅列印出超出(含) 含 3 門課老師(Having count(*) >=3)。 (C) 程式範例:
4-10-3自我挑戰:查詢班級開課數 (A) 程式功能:PM4_8 請查詢這學期全校各班級各開了幾門課,查詢結果如下:
(B) 系統提示: 全校這學期開課狀態皆登錄於 open_course 資料表內,每一紀錄包含 open_course_ID(開課代碼)、course_ID(課程代碼)、class_ID(班級代碼)、教師編號(teacher_ID),我們只要查詢此資料表,並以 class_ID 為群組,即可計算出每一班級開了幾門課。
4-10-4自我挑戰:查詢修課人數少於 5 人的課程 (A) 程式功能:PM4_9 請查詢修課人數少於 5 人的課程,查詢結果如下(以開課代碼 open_course_ID 表示):
(B) 系統提示: 全校學生選課狀況登錄於 select_course 表內,只要查詢該表格,以 open_course_ID 為群組(count(*)),再過濾輸出少於 5 筆記錄即是,select_course 資料表內容如下:
|
翻轉工作室:粘添壽
資料庫系統概論(含邏輯設計)
翻轉電子書系列:
|