國家安全情報人員考試五等考試-資訊組計算機大意112 年第 29 題單選題
由下列資料庫的關聯表(Courses),欲得到另一個新的關聯表(Courses_Subset),須使用那種 SQL 查詢指令的運算?
Courses
Course-No | Course-Name | Credits
SEM20 | Intro to C++ | 6
SEM23 | Intro to Java | 3
SEM56 | Database | 3
Courses_Subset
Course-No | Credits
SEM20 | 6
SEM23 | 3
SEM56 | 3
A刪除運算(Delete)
B更新運算(Update)
C差異運算(Difference)
D映射運算(Project)正確答案
D正確答案
從Courses(3欄)取出Course-No與Credits兩欄得到Courses_Subset,是關聯代數的映射(Project)運算,對應SQL的SELECT指定欄位。
為什麼答案是 D
圖中Courses有Course-No、Course-Name、Credits共3欄;Courses_Subset只保留Course-No與Credits兩欄,去除Course-Name欄,且全部3筆列保留不變。這正是映射運算(Project, π)的定義:從關聯表中選取指定欄位,對應SQL為SELECT Course-No, Credits FROM Courses。
考點:刪除列運算考點:更新資料運算考點:關聯代數差集考點:關聯代數Project