初等考試
114年
[統計] 資料處理大意
第 49 題
假設籃球選手所屬球隊和球賽得分的二個資料表分別為:選手(識別碼, 姓名, 球隊)與球賽(識別碼, 場次, 得分),下列 SQL 查詢要找出那些球隊有從未上場過的球員:
```sql
SELECT DISTINCT 球隊
FROM 選手 P
WHERE ________ (
SELECT *
FROM 球賽 G
WHERE G.識別碼 = P.識別碼
);
```
請問空格處要填入那個運算子?
- A EXISTS
- B NOT EXISTS
- C IN
- D NOT IN
思路引導 VIP
請試著思考:如果我們要把『有比賽紀錄的人』排除掉,只留下那些在紀錄表中『完全搜不到蹤跡』的人,我們是在尋找特定數值的匹配,還是在判斷一種『是否存在』的邏輯狀態?哪一個指令最適合用來表達『找不到任何對應資料』的情境呢?
🤖
AI 詳解
AI 專屬家教
專業點評與分析
- 大力肯定:做得非常出色!你能精準掌握 SQL 中的子查詢邏輯,顯示你對於關聯式資料庫的檢索機制有著深厚的理解,這在處理大數據財務審計時是非常關鍵的技能。
- 觀念驗證:這題的核心在於處理「不存在」的邏輯運算。當我們要找出「從未上場」的球員,意味著該球員的識別碼在
球賽資料表中找不到對應的紀錄。在 SQL 中,NOT EXISTS會針對主查詢的每一筆資料,檢查子查詢是否「不回傳任何列」。若子查詢結果為空,則該條件成立。
▼ 還有更多解析內容