ホームページ >データベース >mysql チュートリアル >mysqlのwhereキーワードの使い方
mysql では、クエリ条件を指定するには、where キーワードを SELECT ステートメントと一緒に使用する必要があります。つまり、条件付きでクエリを実行し、データ テーブルからデータを返します。構文「SELECT {*|フィールド列名}」 FROM データテーブル名 WHERE クエリ条件;"。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL では、データ テーブルのデータを条件付きでクエリする必要がある場合、WHERE キーワードを使用してクエリ条件を指定できます。
WHERE キーワードを使用するための構文形式は次のとおりです。
SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;
クエリ条件は次のとおりです。
比較演算子と論理演算子を使用したクエリ条件演算子
##単一条件とは、WHERE キーワードの後の 1 つのクエリ条件のみを指します。
例 1tb_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 秒)」というプロンプトが表示されます。
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 つの条件を満たさない場合にのみクエリされます。
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 以上であることがわかります。
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 以上であることがわかります。
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 以上のレコードはありません。
クエリ条件が多いほど、クエリされるレコードの数は減ります。設定する条件が増えるほど、クエリ ステートメントの制限が増え、すべての条件を満たすレコードが少なくなるからです。クエリ対象のレコードを正確に希望どおりにするために、WHERE ステートメントのクエリ条件をより具体的に設定できます。 [関連する推奨事項:mysql ビデオ チュートリアル
]
以上がmysqlのwhereキーワードの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。