ホームページ  >  記事  >  データベース  >  mysqlのwhereキーワードの使い方

mysqlのwhereキーワードの使い方

青灯夜游
青灯夜游オリジナル
2022-02-24 18:51:135639ブラウズ

mysql では、クエリ条件を指定するには、where キーワードを SELECT ステートメントと一緒に使用する必要があります。つまり、条件付きでクエリを実行し、データ テーブルからデータを返します。構文「SELECT {*|フィールド列名}」 FROM データテーブル名 WHERE クエリ条件;"。

mysqlのwhereキーワードの使い方

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

MySQL WHERE: 条件付きクエリ データ

MySQL では、データ テーブルのデータを条件付きでクエリする必要がある場合、WHERE キーワードを使用してクエリ条件を指定できます。

WHERE キーワードを使用するための構文形式は次のとおりです。

SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;

クエリ条件は次のとおりです。

  • 比較演算子と論理演算子を使用したクエリ条件演算子

  • #BETWEEN AND キーワードを使用したクエリ条件

  • IS NULL キーワードを使用したクエリ条件

  • Query IN キーワードを使用した条件

  • #LIKE キーワードを使用したクエリ条件
#単一条件クエリ ステートメント

##単一条件とは、WHERE キーワードの後の 1 つのクエリ条件のみを指します。

例 1

tb_students_info データ テーブルで身長 170cm の生徒の名前をクエリする SQL ステートメントと実行結果は次のとおりです。

mysql> SELECT name,height FROM tb_students_info
    -> WHERE height=170;
+-------+--------+
| name  | height |
+-------+--------+
| Susan |    170 |
+-------+--------+
1 row in set (0.17 sec)
ご覧のとおり、クエリ結果に記録された高さフィールドの値は 170 です。指定した条件に基づいてクエリを実行する場合、データ テーブルにクエリ条件に一致するレコードが存在しない場合は、「空のセット (0.00 秒)」というプロンプトが表示されます。

例 2

tb_students_info データ テーブル内の 22 歳未満の学生の名前をクエリします。SQL ステートメントと実行結果は次のとおりです。

mysql> SELECT name,age FROM tb_students_info
    -> WHERE age<22;
+------+------+
| name | age  |
+------+------+
| John |   21 |
+------+------+
1 row in set (0.05 sec)
クエリ結果のすべてのレコードの年齢フィールドの値は 22 歳未満であり、22 歳以上のレコードは返されないことがわかります。

複数条件のクエリ ステートメント

WHERE キーワードの後に​​複数のクエリ条件を指定すると、クエリ結果がより正確になる可能性があります。複数のクエリ条件は、論理演算子 AND (&&)、OR (||)、または XOR で区切られます。

AND: レコードは、すべてのクエリ条件を満たした場合にのみクエリされます。

  • OR: レコードは、クエリ条件を満たす場合にのみクエリされます。

  • XOR: レコードは、条件の 1 つを満たし、もう 1 つの条件を満たさない場合にのみクエリされます。

  • 例 3

tb_students_info テーブル内の年齢が 21 歳以上、身長が 175 以上の学生情報をクエリします。 SQL文と実行結果は以下のとおりです。

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 AND height>=175;
+--------+------+--------+
| name   | age  | height |
+--------+------+--------+
| Henry  |   23 |    185 |
| Jim    |   24 |    175 |
| Thomas |   22 |    178 |
+--------+------+--------+
3 rows in set (0.00 sec)
クエリ結果のすべてのレコードの年齢フィールドが 21 より大きく、身長フィールドが 175 以上であることがわかります。

例 4

tb_students_info テーブル内の年齢が 21 歳以上、または身長が 175 以上の学生情報をクエリします。 SQL ステートメントと実行結果は以下の通り。

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 OR height>=175;
+--------+------+--------+
| name   | age  | height |
+--------+------+--------+
| Dany   |   25 |    160 |
| Green  |   23 |    158 |
| Henry  |   23 |    185 |
| Jane   |   22 |    162 |
| Jim    |   24 |    175 |
| Lily   |   22 |    165 |
| Susan  |   23 |    170 |
| Thomas |   22 |    178 |
| Tom    |   23 |    165 |
+--------+------+--------+
9 rows in set (0.00 sec)
クエリ結果のすべてのレコードの年齢フィールドが 21 より大きいか、身長フィールドが 175 以上であることがわかります。

例 5

tb_students_info テーブルで、年齢が 21 歳以上、身長が 175 歳未満の学生情報と、年齢が 175 歳未満の学生情報をクエリします。 SQL ステートメントと実行結果は次のとおりです。

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 XOR height>=175;
+-------+------+--------+
| name  | age  | height |
+-------+------+--------+
| Dany  |   25 |    160 |
| Green |   23 |    158 |
| Jane  |   22 |    162 |
| Lily  |   22 |    165 |
| Susan |   23 |    170 |
| Tom   |   23 |    165 |
+-------+------+--------+
7 rows in set (0.00 sec)
クエリ結果のすべてのレコードの年齢フィールドが 21 より大きく、身長フィールドが 175 未満であることがわかります。 tb_students_info データ テーブルには、年齢フィールドが 21 未満で身長フィールドが 175 以上のレコードはありません。

OR、AND、および XOR は一緒に使用できますが、使用するときは演算子の優先順位に注意してください。 MySQL の演算子の優先順位については、「MySQL 演算子の優先順位」セクションを参照してください。

クエリ条件が多いほど、クエリされるレコードの数は減ります。設定する条件が増えるほど、クエリ ステートメントの制限が増え、すべての条件を満たすレコードが少なくなるからです。クエリ対象のレコードを正確に希望どおりにするために、WHERE ステートメントのクエリ条件をより具体的に設定できます。

[関連する推奨事項:
mysql ビデオ チュートリアル

]

以上がmysqlのwhereキーワードの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。