Q136.
如果A 資料表(Table)有N 筆資料、X 個欄位;資料表B 有M 筆資料、Y 個欄位,則針對結構化查詢語言(SQL)陳述式「SELECT * FROM A CROSS JOIN B」查詢結果的欄位數目為
電腦軟體應用 · 乙級 · 電腦概論 · Q136
難易度分析
2 / 5
本題考查對資料表連接後結果集結構的定義理解。由於選項中包含了資料列數與欄位數的不同計算方式,考生必須能精確區分兩者的差異,避免將笛卡兒積的列數計算邏輯誤用於欄位數的判定。
正確答案:④X+Y
④ X+Y:X+Y 為正確答案。CROSS JOIN 會將資料表 A 的 X 個欄位 與資料表 B 的 Y 個欄位 全部合併輸出,因此結果集的欄位總數為 X+Y。
錯誤選項解析
- ① N×M:N×M 是 CROSS JOIN(卡氏積) 查詢結果的資料列數目,而非欄位數目。當資料表 A 有 N 筆、資料表 B 有 M 筆時,交叉連接會產生 N×M 筆資料列。
- ② X×Y:X×Y 為錯誤算法。SQL 的 JOIN 操作 不會將兩表的欄位數相乘,欄位是進行集合聯集而非笛卡兒積運算。
- ③ N+M:N+M 是錯誤的資料列計算方式。CROSS JOIN 的資料列數為 N×M(相乘),而非相加;相加僅適用於 UNION 或 UNION ALL 操作。
Learning Tip
"本題核心考點為 SQL JOIN 操作的欄位與資料列計算規則。CROSS JOIN(卡氏積) 的結果集結構為:資料列數 = N×M、欄位數 = X+Y。常考陷阱是混淆「資料列數」與「欄位數」的計算方式,需特別注意 INNER JOIN、LEFT JOIN 的欄位數同樣為 X+Y,但資料列數會因 ON 條件 而不同。實務上應避免對大資料表使用 CROSS JOIN,以免產生龐大的笛卡兒積造成效能問題。"
學員答題分佈
①N×M0%
②X×Y0%
③N+M0%
④X+Y0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
如果A 資料表(Table)有N 筆資料、X 個欄位;資料表B 有M 筆資料、Y 個欄位,則針對結構化查詢語言(SQL)陳述式「SELECT * FROM A CROSS JOIN B」查詢結果的資料筆數為
針對結構化查詢語言(SQL)陳述式「SELECT * FROM A LEFT OUTER JOIN B ON A.pk=B.pk」的查詢結果,下列敘述何者正確?
在 Microsoft Access 環境中,使用「交叉資料表查詢」時,需搭配下列何項功能?
某個關聯式資料庫(Relational Database)以客戶資料表(Table)當中的「住址」欄位來保存客戶的完整住址。如果希望撰寫結構化查詢語言(SQL)的非巢狀SELECT 陳述式,來查詢居住在「南投縣」或「台中市」之客戶資料,下列敘述何者不正確?
「將資料以表格的方式儲存,並透過參考的關係來查詢相關資料」,是屬於何種資料模型?