• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

MySQL/MariaDB 資料庫 IF 條件判斷用法教學與範例

介紹在查詢 MySQL/MariaDB 資料庫時如何運用 IF 條件判斷,產生所需的資料。


在查詢 MySQL/MariaDB 資料庫時,我們可以運用 IF 條件判斷式,根據自訂的條件將原始的資料轉換成我們想要的型式,以下是 IF 的使用方法與實際應用範例。

IF 條件判斷

IF 的語法非常簡單:

IF(判斷條件, 條件成立傳回值, 條件不成立傳回值)

當判斷條件成立時就會傳回條件成立傳回值,否則就傳回條件不成立傳回值。

以下是一個簡單的例子:

SELECT IF(2>1, "Yes", "No");
+----------------------+
| IF(2>1, "Yes", "No") |
+----------------------+
| Yes                  |
+----------------------+

實際應用範例

假設我們有一些人員的資料如下:

SELECT * FROM user_table;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  5 | John  |   23 |
|  6 | Mary  |   45 |
|  7 | Joe   |   15 |
|  8 | Smith |   21 |
+----+-------+------+

如果我們想要將人員根據 age 區分為兩組,40 以下稱為 Young,40 以上稱為 Old,就可以這樣寫:

SELECT name, age, IF(age<40, "Young", "Old") FROM user_table;
+-------+------+----------------------------+
| name  | age  | IF(age<40, "Young", "Old") |
+-------+------+----------------------------+
| John  |   23 | Young                      |
| Mary  |   45 | Old                        |
| Joe   |   15 | Young                      |
| Smith |   21 | Young                      |
+-------+------+----------------------------+

如果感覺 IF 那一欄的名稱太冗長不好看,可以用 AS 改一下名稱:

SELECT name, age, IF(age<40, "Young", "Old") AS grp FROM user_table;
+-------+------+-------+
| name  | age  | grp   |
+-------+------+-------+
| John  |   23 | Young |
| Mary  |   45 | Old   |
| Joe   |   15 | Young |
| Smith |   21 | Young |
+-------+------+-------+

這樣就可以很輕鬆的根據年齡產生我們想要的分組資料了。

IF 的傳回值也可以是資料表中的欄位,假設我們想要將未滿 18 的人員名字隱藏起來,就可以這樣寫:

SELECT name, age, IF(age>=18, name, "***") AS mask_name FROM user_table;
+-------+------+-----------+
| name  | age  | mask_name |
+-------+------+-----------+
| John  |   23 | John      |
| Mary  |   45 | Mary      |
| Joe   |   15 | ***       |
| Smith |   21 | Smith     |
+-------+------+-----------+

分類:資料庫 標籤:MySQL/MariaDB

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide