地方政府公務人員四等-資訊處理類科計算機概要107 年第 36 題單選題
關於關聯運算,下列何者可用來合併一個或多個關聯(relation)的資料?
ASELECT
BJOIN正確答案
CINSERT
DPROJECT
B正確答案
JOIN 用於合併多個關聯(資料表)的資料,是關聯代數中的合併運算。
為什麼答案是 B
JOIN(合併/聯結)運算可根據共同屬性將兩個或多個關聯合併成一個新關聯,是唯一能合併多關聯的運算。常見有 Inner Join、Outer Join 等。
載入中…
完整詳解
Pro · 無限重點 JOIN 用於合併多個關聯(資料表)的資料,是關聯代數中的合併運算。
看到『合併多個關聯』直接選 JOIN,這是關聯式資料庫的基本常識。
逐選項分析
A✕
SELECT 是選擇運算,用來從單一關聯中『篩選出符合條件的列(tuple)』,屬於列的過濾,不是合併多個關聯。
B✓ 正確
JOIN(合併/聯結)運算可根據共同屬性將兩個或多個關聯合併成一個新關聯,是唯一能合併多關聯的運算。常見有 Inner Join、Outer Join 等。
C✕ 陷阱
INSERT 是 SQL 的 DML 指令,用於新增一筆資料到關聯中,並非關聯代數運算,也無合併功能。易與 UNION 混淆。
D✕
PROJECT 是投影運算,從單一關聯中『選取特定欄位(屬性)』,屬於欄的過濾,同樣不涉及多關聯合併。
關聯代數五大基本運算
| 運算 | 符號 | 功能 | 作用對象 |
|---|
| SELECT (σ) | σ | 依條件篩選『列』 | 單一關聯 |
| PROJECT (π) | π | 選取特定『欄』 | 單一關聯 |
| JOIN (⋈) | ⋈ | 依共同屬性合併關聯 | 兩個以上關聯 |
| UNION (∪) | ∪ | 聯集(合併所有列) | 兩個相容關聯 |
| DIFFERENCE (−) | − | 差集 | 兩個相容關聯 |
本題易把 SQL 指令(INSERT)與關聯代數運算混淆。SELECT 在關聯代數中是『篩選列』,與 SQL 的 SELECT(查詢指令)意義不同,考生要分清『關聯代數』vs『SQL 指令』兩套術語。