mysql では、SELECT ステートメントと WHERE キーワードを使用して条件付きクエリを実装できます。実装ステートメントは「SELECT フィールド名 FROM データ テーブル WHERE クエリ条件;」です。SELECT ステートメントはデータのクエリに使用されます。および WHERE キーワード クエリ条件を指定するために使用されます。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
mysql では、SELECT ステートメントと WHERE キーワードを使用して条件付きクエリを実装できます。
SELECT ステートメントはデータをクエリできます。データのクエリとは、必要に応じてさまざまなクエリ方法を使用してデータベースからさまざまなデータを取得することを指し、最も頻繁に使用される重要な操作です。
WHERE キーワードはクエリ条件を指定するために使用されます。データ テーブルのデータを条件付きでクエリする必要がある場合は、WHERE キーワードを使用できます。
構文形式は次のとおりです:
SELECT 字段名 FROM 数据表 WHERE 查询条件;
クエリ条件は次のとおりです:
比較演算子と論理演算子を使用したクエリ条件
BETWEEN AND キーワードを使用したクエリ条件
IS NULL キーワードを使用したクエリ条件
IN キーワードを使用したクエリ条件
単一条件クエリ ステートメント
単一の条件は、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 で区切られます。例 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 サイトの他の関連記事を参照してください。