
mysqlのSELECT文でWHEREを使い条件を指定する時、指定する条件が数十件~数百件合った場合どうすればよいのでしょうか?
例えば、
以下のような感じで名前カラムと住所カラムがあったとします
name address
田中 東京都
鈴木 大阪府
佐藤 北海道
加藤 沖縄県
中村 群馬県
小林 岐阜県
高橋 東京都
渡辺 大阪府
伊藤 北海道
山本 沖縄県
斎藤 群馬県
阿部 岐阜県
・
・
・
そこで、東京都と大阪府と北海道の人だけをSELECT文で選択したいのですが、
WHERE
`address` = '東京都' OR
`address` = '大阪府' OR
`address` = '北海道'
というように、一つづつ記述していかなければならないのでしょうか?
この例の場合だと3件だけの指定ですが、もしもっと膨大な量を指定したいとなったとき、とても効率が悪いように思います。
なにか良い方法はないのでしょうか?
ちなみにPHPからMySQLを利用しているのですが、現在
$where = array();
foreach($address as $value){
$where[] = "`address` = '${value}'";
}
$where = implode(' OR ', $where);
としておいて、
mysql_query("SELECT * FROM table WHERE ${where}");
とする方法しか思いつきません。
もっとスマートな方法があれば教えて下さい。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレンドリストのようなものを...
-
select * での表示が崩れる?
-
MySQL AUTO_INCREMENTが最大に...
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
同一日に複数レコードがある場...
-
WHEREなどの条件が多い場合、ど...
-
[MYSQL]日付のカラムにデーター...
-
「VARCHAR(255)」を「text」に...
-
MySQL 改行コードを含む文字列...
-
MySQLでカラム内の値の先頭の数...
-
betweenを使うyyyy/mm/ddでの範...
-
テーブルの列数を調べたい
-
[MySQL]LOAD DATA INFILE一部レ...
-
MySQLのselect文で、最大ID値の...
-
誤って削除したIDカラムを復元...
-
他のシートの検索
-
一部のカラムでdistinctし全て...
-
DBの定義のサイズを大きくし過...
-
SELECT文で、指定カラム以外の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
[MySQL]LOAD DATA INFILE一部レ...
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
WHEREなどの条件が多い場合、ど...
-
MySQL 改行コードを含む文字列...
-
データを同データが並ばないよ...
-
同一日に複数レコードがある場...
-
sqlについて質問です。
-
MySQL AUTO_INCREMENTが最大に...
-
betweenを使うyyyy/mm/ddでの範...
-
mysqlの結果の速度はデータの違...
-
データ型による検索速度の違い...
-
カラムの値を、条件により動的...
-
フレンドリストのようなものを...
-
年月日のうち月日だけ取得したい。
-
MYSQLのストアドでの動的SQLに...
-
select * での表示が崩れる?
-
MySQLデータでデータチェック
-
データの暗号化について
おすすめ情報