ホームページ  >  記事  >  データベース  >  mysqlの条件付きクエリ文とは何ですか?

mysqlの条件付きクエリ文とは何ですか?

青灯夜游
青灯夜游オリジナル
2022-01-05 17:20:487535ブラウズ

mysql では、SELECT ステートメントと WHERE キーワードを使用して条件付きクエリを実装できます。実装ステートメントは「SELECT フィールド名 FROM データ テーブル WHERE クエリ条件;」です。SELECT ステートメントはデータのクエリに使用されます。および WHERE キーワード クエリ条件を指定するために使用されます。

mysqlの条件付きクエリ文とは何ですか?

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

mysql では、SELECT ステートメントと WHERE キーワードを使用して条件付きクエリを実装できます。

SELECT ステートメントはデータをクエリできます。データのクエリとは、必要に応じてさまざまなクエリ方法を使用してデータベースからさまざまなデータを取得することを指し、最も頻繁に使用される重要な操作です。

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

構文形式は次のとおりです:

SELECT 字段名 FROM 数据表 WHERE 查询条件;

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

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

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

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

  • 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 は一緒に使用できますが、使用するときは演算子の優先順位に注意してください。

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

[関連する推奨事項:

mysql ビデオ チュートリアル ]

以上がmysqlの条件付きクエリ文とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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