當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL WHERE用法及代碼示例


WHERE 子句允許我們向查詢添加條件。隻有符合我們條件的記錄才會被檢索。

MySQL支持以下條件:

健康)狀況

=(等於)

<>(不等於)

<

>

<=

>=

BETWEEN

LIKE

IN

注意

正式的 SQL 標準將 =<> 定義為等於和不等於的運算符。因此不建議使用==表示相等,使用!=表示不等。

用法

SELECT column_name(s)
FROM table_name
WHERE condition;

例子

請考慮下表有關學生的課外活動:

student_id

俱樂部

date_entered

1

Football

2016-02-13

2

Boxing

2016-05-25

3

Apple

2018-08-17

4

Fishing

2017-01-01

5

NULL

NULL

可以使用此處的代碼創建上述示例表。

基本用法

要檢索在 2017-01-01 之前加入俱樂部的學生:

SELECT * 
FROM extracurricular
WHERE date_entered < '2017-01-01';



+------------+----------+--------------+
| student_id | club     | date_entered |
+------------+----------+--------------+
|          1 | Football | 2016-02-13   |
|          2 | Boxing   | 2016-05-25   |
+------------+----------+--------------+

在 2017 年 1 月 1 日之前,隻有 ID 為 12 的學生才加入俱樂部。

要檢索屬於 Fishing 俱樂部的學生:

SELECT * 
FROM extracurricular
WHERE club = 'Fishing';



+------------+---------+--------------+
| student_id | club    | date_entered |
+------------+---------+--------------+
|          4 | Fishing | 2017-01-01   |
+------------+---------+--------------+

過濾缺失值

我們可以使用 IS NOT NULL 運算符過濾掉NULL記錄:

SELECT * 
FROM extracurricular 
WHERE club IS NOT NULL;



+------------+----------+--------------+
| student_id | club     | date_entered |
+------------+----------+--------------+
|          1 | Football | 2016-02-13   |
|          2 | Boxing   | 2016-05-25   |
|          3 | Chess    | 2018-08-17   |
|          4 | Fishing  | 2017-01-01   |
+------------+----------+--------------+

我們可以看到student_id=5的記錄已經被過濾掉了。

相關用法


注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | WHERE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。