MySQL WHERE 句: AND、OR、IN、NOT IN クエリの例
WHERE句とは何ですか MySQL?
WHERE句 in MySQL 指定された SQL ステートメントによって影響を受けるデータまたは行の正確な条件を指定するために使用されるキーワードです。WHERE 句は、INSERT、UPDATE、SELECT、DELETE などの SQL ステートメントで使用して、レコードをフィルター処理し、データに対してさまざまな操作を実行できます。
データをクエリする方法を検討しました。 データベース 前のチュートリアルで SELECT ステートメントを使用します。 SELECT ステートメントは、クエリされたデータベース テーブルからすべての結果を返しました。
ただし、クエリの結果を指定された条件に制限したい場合があります。 SQL の WHERE 句は、このような状況で便利です。

WHERE 句の構文
WHERE 句を使用する場合の基本構文 MySQL SELECT WHERE文は以下の通りです。
SELECT * FROM tableName WHERE condition;
こちら
- 「SELECT * FROM テーブル名」 標準です SELECTステートメント
- "どこ" は選択クエリの結果セットを制限するキーワードであり、 "状態" 結果に適用されるフィルターです。 フィルターには、範囲、単一の値、またはサブクエリを指定できます。
では、次のことを見てみましょう 実例.
会員番号 1 を指定して、メンバー テーブルからメンバーの個人情報を取得したい場合、次のスクリプトを使用してこれを実現します。
SELECT * FROM `members` WHERE `membership_number` = 1;
上記のスクリプトを実行すると、 MySQL 作業台 「myflixdb」では次の結果が生成されます。
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
– と組み合わせた WHERE 句 そして ロジカル Operaタ
の WHERE 条件 MySQL AND 論理演算子と一緒に使用すると、指定されたすべてのフィルター条件が満たされた場合にのみ実行されます。
SELECT * FROM `movies` WHERE `category_id` = 2 AND `year_released` = 2008;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
– と組み合わせた WHERE 句 OR ロジカル Operaタ
SELECT * FROM `movies` WHERE `category_id` = 1 OR `category_id` = 2;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
– と組み合わせた WHERE 句 IN キーワード
SELECT * FROM `members` WHERE `membership_number` IN (1,2,3);
上記のスクリプトを実行すると、 MySQL 「myflixdb」に対するワークベンチでは、次の結果が生成されます。
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
– と組み合わせた WHERE 句 ありませんで キーワード
SELECT * FROM `members` WHERE `membership_number` NOT IN (1,2,3);
上記のスクリプトを実行すると、 MySQL 「myflixdb」に対するワークベンチでは、次の結果が生成されます。
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
– と組み合わせた WHERE 句 比較 Operaトー
= に等しい
SELECT * FROM `members` WHERE `gender` = 'Female';
上記のスクリプトを実行すると、 MySQL 「myflixdb」に対するワークベンチでは、次の結果が生成されます。
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
> 越える
payment_id | membership_number | payment_date | description | amount_paid | external_reference_number |
---|---|---|---|---|---|
1 | 1 | 23-07-2012 | Movie rental payment | 2500 | 11 |
3 | 3 | 30-07-2012 | Movie rental payment | 6000 | NULL |
< > に等しくない
SELECT * FROM `movies` WHERE `category_id`<> 1;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
まとめ
ブレインティーザー
SELECT * FROM `movierentals` WHERE `return_date` < '2012-06-25' AND movie_returned = 0;
上記のスクリプトを実行すると、 MySQL ワークベンチでは次の結果が得られます。
reference_number | transaction_date | return_date | membership_number | movie_id | movie_returned |
---|---|---|---|---|---|
14 | 21-06-2012 | 24-06-2012 | 2 | 2 | 0 |