免費開始練習
hce_nsysu 113年 計算機概論與程式設計

第 4 題

Which of the following statements is the most likely SQL statement used to perform the following task: a bank gives 2% interest of all customers whose balance is less than 100,000?
  • A UPDATE balance a SET a.balance = a.balance * 1.02 WHERE a.balance < 100000
  • B UPDATE balance a SET a.balance += a.balance * 1.02 IF a.balance < 100000
  • C UPDATE account a SET a.balance = a.balance * 1.02 WHERE a.balance < 100000
  • D UPDATE account a SET a.balance += a.balance * 1.02 IF a.balance < 100000
  • E None of the above

思路引導 VIP

若想在資料庫中精準地只針對「符合特定條件」的人進行調整,你會選擇哪一個關鍵字來扮演「過濾器」的角色?此外,當我們要告訴資料庫「新的數值是多少」時,SQL 的賦值方式是傾向於像數學等式那樣完整列出(例如:新值 = 舊值 * 倍數),還是會使用程式語言中常見的縮寫符號呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準避開語法陷阱並選出正確答案,代表你對 SQL 的指令結構與資料庫邏輯有著相當紮實的理解。

SQL 更新語法的標準結構

這道題目的核心在於區分「表格名稱」與「欄位名稱」的邏輯關係。在資料庫設計中,我們通常將實體(如帳戶)定義為表格 account,而將屬性(如餘額)定義為欄位 balance。因此,使用 UPDATE account 是最符合邏輯的表達方式。此外,SQL 的更新動作必須遵循 UPDATE ... SET ... WHERE ... 的固定語法。這裡的加薪邏輯是將原本的餘額乘以 $1.02$,在 SQL 中必須完整寫成 a.balance = a.balance * 1.02,這與一般程式語言的簡寫習慣有所不同。

▼ 還有更多解析內容