WHERE句の後ろに何項目か条件を指定し、表示さる値をより絞りこませる。
*sada_copyid >= 2 and sada_copyid <=12 (2を含む、またはそれ以上、12を含み、またはそれ以下)
*IN 該当する項目を表示させる
*BETWEEN min から maxまで表示させる
*NOT IN 以外を表示させる free83
Saturday,July,27,2013
例えば、
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_copyid >= 2 and sada_copyid <=12
->and sada_category IN('食べ物', '飲み物') *IN 該当する項目を表示させる
->and sada_price BETWEEN 70 and 220 *BETWEEN min から maxまで表示させる
->and sada_releasedate BETWEEN 20120601 and 20130101;
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25*該当
12 ビール 飲み物 220 2012-07-01*該当
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_copyid >= 2 and sada_copyid <=12
-> and sada_category NOT IN('食べ物', '飲み物') *NOT IN 以外を表示させる
-> and sada_price BETWEEN 70 and 220
-> and sada_releasedate BETWEEN 20130101 and 20130601;
sada_id sada_name sada_category sada_price sada_releasedate
3 りんご 果物 150 2013-01-08
11 ほうれん草 野菜 145 2013-04-25
○○BETWEEN 句
○テーブルの中身の表示
select * from sadachika_copy.sadachi_copyproducts;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
2 たこ焼き 食べ物 100 2012-07-25
3 りんご 果物 150 2013-01-08
4 ワイン 飲み物 250 2013-03-12
5 ピザ 食べ物 450 2011-05-03
6 ブドウ 果物 300 2013-07-16
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
9 牛丼 食べ物 350 2011-02-25
10 キューイフルーツ 果物 160 2013-09-19
11 ほうれん草 野菜 145 2013-04-25
12 ビール 飲み物 220 2012-07-01
13 天丼 食べ物 460 2013-06-25
○範囲を指定して表示させる
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_price between 100 and 150;
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25
3 りんご 果物 150 2013-01-08
11 ほうれん草 野菜 145 2013-04-25
3 rows in set (0.50 sec)
↓NOT BETWEEN ANDは、BETWEEN ANDの結果を反転した結果を返す
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_price not between 100 and 150;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
4 ワイン 飲み物 250 2013-03-12
5 ピザ 食べ物 450 2011-05-03
6 ブドウ 果物 300 2013-07-16
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
9 牛丼 食べ物 350 2011-02-25
10 キューイフルーツ 果物 160 2013-09-19
12 ビール 飲み物 220 2012-07-01
13 天丼 食べ物 460 2013-06-25
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_releasedate
-> between 20120101 and 20130101;
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25
8 コーラ 飲み物 98 2012-05-21
12 ビール 飲み物 220 2012-07-01
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_releasedate
-> between '2012-01-01' and '2013-01-01';
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25
8 コーラ 飲み物 98 2012-05-21
12 ビール 飲み物 220 2012-07-01
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_copyid between 6 and 8;
sada_id sada_name sada_category sada_price sada_releasedate
6 ブドウ 果物 300 2013-07-16
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_price between 150 and 200;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
3 りんご 果物 150 2013-01-08
10 キューイフルーツ 果物 160 2013-09-19
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_releasedate
-> between 20130601 and 20140101;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
6 ブドウ 果物 300 2013-07-16
10 キューイフルーツ 果物 160 2013-09-19
13 天丼 食べ物 460 2013-06-25
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_releasedate
-> between 20130601 and 20140101;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
6 ブドウ 果物 300 2013-07-16
10 キューイフルーツ 果物 160 2013-09-19
13 天丼 食べ物 460 2013-06-25
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_releasedate
->not between 20130601 and 20140101;
↑NOT BETWEEN ANDは、BETWEEN ANDの結果を反転した結果を返す
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25
3 りんご 果物 150 2013-01-08
4 ワイン 飲み物 250 2013-03-12
5 ピザ 食べ物 450 2011-05-03
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
9 牛丼 食べ物 350 2011-02-25
11 ほうれん草 野菜 145 2013-04-25
12 ビール 飲み物 220 2012-07-01
○○IN 句
○テーブルの中身の表示
select * from sadachika_copy.sadachi_copyproducts;
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
2 たこ焼き 食べ物 100 2012-07-25 *4条件に該当する項目その1
3 りんご 果物 150 2013-01-08 *4条件に該当する項目その2
4 ワイン 飲み物 250 2013-03-12
5 ピザ 食べ物 450 2011-05-03
6 ブドウ 果物 300 2013-07-16
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
9 牛丼 食べ物 350 2011-02-25
10 キューイフルーツ 果物 160 2013-09-19
11 ほうれん草 野菜 145 2013-04-25 *4条件に該当する項目その2
12 ビール 飲み物 220 2012-07-01 *4条件に該当する項目その1
13 天丼 食べ物 460 2013-06-25
○条件を「飲み物 と 野菜」に該当する項目を表示させる
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_category in('飲み物', '野菜');
sada_id sada_name sada_category sada_price sada_releasedate
1 牛乳 飲み物 198 2013-10-18
4 ワイン 飲み物 250 2013-03-12
7 にんじん 野菜 35 2013-03-17
8 コーラ 飲み物 98 2012-05-21
11 ほうれん草 野菜 145 2013-04-25
12 ビール 飲み物 220 2012-07-01
○条件を「飲み物 と 野菜」そして、「sada_priceが100-150」に該当する項目を表示させる
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_category in('飲み物', '野菜') and sada_price between 100 and 150;
sada_id sada_name sada_category sada_price sada_releasedate
11 ほうれん草 野菜 145 2013-04-25
○条件を「飲み物 と 野菜」以外の項目、そして「sada_priceが100-150」に該当する項目を表示させる
↓NOT BETWEEN ANDは、BETWEEN ANDの結果を反転した結果を返す
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_category NOT IN('飲み物', '野菜') and sada_price between 100 and 150;
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25
3 りんご 果物 150 2013-01-08
○条件を「sada_copyid 2 - 12」そして、「sada_category が 食べ物 と 飲み物」に該当し、「sada_price が 70 - 220」に該当し、「sada_releasedate は 20120601 - 20130101」項目を表示させる
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_copyid >= 2 and sada_copyid <=12
->and sada_category IN('食べ物', '飲み物') and sada_price BETWEEN 70 and 220 and sada_releasedate BETWEEN 20120601 and 20130101;
sada_id sada_name sada_category sada_price sada_releasedate
2 たこ焼き 食べ物 100 2012-07-25*該当
12 ビール 飲み物 220 2012-07-01*該当
条件を4項目設定して表示させた。
○条件を「sada_copyid 2 - 12」そして、「sada_category が 食べ物 と 飲み物」以外に該当し、「sada_price が 70 - 220」に該当し、「sada_releasedate は 20130101 - 20130601」項目を表示させる
mysql> select * from sadachika_copy.sadachi_copyproducts where sada_copyid >= 2 and sada_copyid <=12
->and sada_category NOT IN('食べ物', '飲み物') and sada_price BETWEEN 70 and 220 and sada_releasedate BETWEEN 20130101 and 20130601;
sada_id sada_name sada_category sada_price sada_releasedate
3 りんご 果物 150 2013-01-08
11 ほうれん草 野菜 145 2013-04-25
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。