Search

比較演算子について

unknown

比較演算子一覧
比較演算子内容
=WHERE フィールド名 = '値'レコードが値と等しい
<>、!=WHERE フィールド名 <> '値'レコードが値と等しくない
<=WHERE フィールド名 <= '値'レコードが値以下
<WHERE フィールド名 < '値'レコードが値より小さい
>=WHERE フィールド名 >= '値'レコードが値以上
>WHERE フィールド名 > '値'レコードが値よりも大きい
<=>WHERE フィールド名 <=> '値'等しい(NULL同士でも成立)
IS NULLWHERE フィールド名 IS NULLレコードがNULL値である
IS NOT NULLWHERE フィールド名 IS NOT NULLレコードがNULL値ではない
BETWEEN a AND bWHERE フィールド名 BETWEEN '値1' AND '値2'レコードが値1以上値2以下
IN(a,b,...)WHERE フィールド名 IN ('値1'[, '値2', ...])レコードがいずれかの値
ISNULL(a)ISNULL(a)NULL判定、aがNULLならTRUE
COALESCE(a, b, ... )COALESCE(a, b, ... )リスト中の最初のNULLでない値
INTERVQAL(n,n1,n2,...)INTERVQAL(n,n1,n2,...)n<n1なら0、n<n2なら1、・・・を返す

等しい

unknown

=
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.12 sec)

# Sexフィールドが'f'と等しいレーコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Sex = 'f'; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
4 rows in set (0.07 sec)

等しくない

unknown

<>, !=
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# 例1: Sexフィールドが'f'でないレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Sex != 'f'; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      6 | 太郎      | 田中     | m    |   22 |
+--------+-----------+----------+------+------+
3 rows in set (0.00 sec)

# 例2: Sexフィールドが'f'でないレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Sex <> 'f'; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      6 | 太郎      | 田中     | m    |   22 |
+--------+-----------+----------+------+------+
3 rows in set (0.00 sec)

以下

unknown

<=
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Ageフィールドが 30 以下のレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age <= 30; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
+--------+-----------+----------+------+------+
5 rows in set (0.00 sec)

より小さい

unknown

<
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.01 sec)

# Ageフィールドが 30 未満のレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age < 30; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
+--------+-----------+----------+------+------+
4 rows in set (0.00 sec)

以上

unknown

>=
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Ageフィールドが 30 以上のレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age >= 30; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
3 rows in set (0.00 sec)

より大きい

unknown

>
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   45 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Ageフィールドが 30 より大きいレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age > 30; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      3 | 一郎      | 鈴木     | m    |   45 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
2 rows in set (0.00 sec)

等しい(NULL同士でも成立)

unknown

<=>
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    | NULL |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    | NULL |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

#### AgeフィールドがNULLであるレコードを検索

# 比較演算子「=」では、NULL不等価
mysql> SELECT * FROM tbl_Customer WHERE Age = NULL; Enter
Empty set (0.00 sec)

# 比較演算子「<=>」では、NULL等価
mysql> SELECT * FROM tbl_Customer WHERE Age <=> NULL; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      3 | 一郎      | 鈴木     | m    | NULL |
|      5 | 愛        | 森永     | f    | NULL |
+--------+-----------+----------+------+------+
2 rows in set (0.00 sec)

NULL

unknown

IS NULL
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    | NULL |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    | NULL |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Ageフィールドが NULL であるレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age IS NULL; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      3 | 一郎      | 鈴木     | m    | NULL |
|      5 | 愛        | 森永     | f    | NULL |
+--------+-----------+----------+------+------+
2 rows in set (0.00 sec)

NULLでない

unknown

IS NOT NULL
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    | NULL |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    | NULL |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.08 sec)

# Ageフィールドが NULL でないレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age IS NOT NULL; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      4 | 萌子      | 山口     | f    |   18 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
5 rows in set (0.00 sec)

範囲検索、aとbの間にあればTRUE

unknown

BETWEEN a AND b
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   39 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.01 sec)

# Ageフィールドが 30~39 の間のレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE Age BETWEEN 30 AND 39; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   39 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
3 rows in set (0.00 sec)

リスト中に値があるかどうか

unknown

IN(a, b, ... )
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    |   30 |
|      3 | 一郎      | 鈴木     | m    |   39 |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# LastNameフィールドに、'佐藤'、'山口'のいずれかを含むレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE LastName IN('佐藤','山口'); Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      4 | 萌子      | 山口     | f    |   18 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
2 rows in set (0.00 sec)

NULL判定、aがNULLならTRUE

unknown

ISNULL(a)
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | f    |   21 |
|      2 | 太郎      | 田中     | m    | NULL |
|      3 | 一郎      | 鈴木     | m    | NULL |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | f    |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Ageフィールドが NULL であるレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE ISNULL(Age); Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      2 | 太郎      | 田中     | m    | NULL |
|      3 | 一郎      | 鈴木     | m    | NULL |
+--------+-----------+----------+------+------+
2 rows in set (0.06 sec)

リスト中の最初のNULLでない値

unknown

COALESCE(a, b, ... )
mysql> SELECT * FROM tbl_Customer; Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | NULL |   21 |
|      2 | 太郎      | 田中     | m    | NULL |
|      3 | 一郎      | 鈴木     | m    | NULL |
|      4 | 萌子      | 山口     | f    |   18 |
|      5 | 愛        | 森永     | NULL |   21 |
|      6 | 太郎      | 田中     | m    |   22 |
|      7 | 花子      | 佐藤     | f    |   35 |
+--------+-----------+----------+------+------+
7 rows in set (0.00 sec)

# Sexフィールド、AgeフィールドでNULLが最初に見つかったレコードを検索
mysql> SELECT * FROM tbl_Customer WHERE COALESCE(Sex, AGE); Enter
+--------+-----------+----------+------+------+
| UserID | FirstName | LastName | Sex  | Age  |
+--------+-----------+----------+------+------+
|      1 | 花子      | 鈴木     | NULL |   21 |
|      5 | 愛        | 森永     | NULL |   21 |
+--------+-----------+----------+------+------+
2 rows in set (0.00 sec)

nn2なら1、・・・を返す

unknown

INTERVQAL(n,n1,n2,...)

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop