資料庫

MySQL/MariaDB 資料庫 IN 清單條件使用方法教學與範例

介紹如何在 MySQL/MariaDB 資料庫中使用 IN 條件查詢指定清單的資料。

IN 清單條件

MySQL/MariaDB 資料庫的 IN 條件可以根據清單項目,列出所有符合的資料。

假設我們有一張 persons 資料表,內容如下:

-- 查看資料表內容
SELECT * FROM persons;
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  2 | Bond  |   54 | Taipei  |
|  3 | Cole  |   12 | Hsinchu |
|  4 | Dana  |   19 | Hsinchu |
| 19 | Jack  |   33 | Taipei  |
+----+-------+------+---------+

假設我們想要查詢 id234 的人員資料,就可以執行:

-- 查詢指定清單資料
SELECT * FROM persons WHERE id IN (2, 3, 4);
+----+------+------+---------+
| id | name | age  | city    |
+----+------+------+---------+
|  2 | Bond |   54 | Taipei  |
|  3 | Cole |   12 | Hsinchu |
|  4 | Dana |   19 | Hsinchu |
+----+------+------+---------+

上面這個 IN 條件的作用就等同於以下這個 OR 語法,只不過用 IN 會簡單很多。

-- 相同作用的 OR 語法
SELECT * FROM persons WHERE id = 2 OR id = 3 OR id = 4;

除了指定 id 之外,也可以直接指定人名清單,將指定的人員資料列出:

-- 查詢指定清單資料
SELECT * FROM persons WHERE name IN ('Arden', 'Cole', 'Jack');
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  3 | Cole  |   12 | Hsinchu |
| 19 | Jack  |   33 | Taipei  |
+----+-------+------+---------+

NOT IN 排除清單條件

若要排除指定的人員,可用 NOT IN 指定排除清單:

-- 排除指定清單資料
SELECT * FROM persons WHERE id NOT IN (2, 3, 19);
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  4 | Dana  |   19 | Hsinchu |
+----+-------+------+---------+
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago