• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
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

讀者互動方式

發佈留言 取消回覆

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

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

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

關注本站

  • 電子郵件
  • Facebook

公益

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

Copyright © 2021 · Office Guide