可能な限り最高のパフォーマンスでSQLクエリを実行しようとしています。複数の結合/内部結合のフィルタ条件SQL
私はランダム条件(同じ都市名に基づく)
ON `r1`.`ville_nom_reel` = `r3`.`full_name`
と別のテーブルの結果をJOINの後、30000の結果都市間で選択したいすべての最初の。約0.010秒を実行します。私はここで
r1`.`ville_population_2012` > 10000
が私のメインクエリとなっている結果のみを表示するようにフィルタを追加したいと思い、このクエリに 。
SELECT * FROM `inspitravel`.`villes_france_free` AS `r1`
JOIN (SELECT CEIL(RAND() * (SELECT MAX(`ville_id`) FROM `inspitravel`.`villes_france_free`)) AS `ville_id`) AS `r2` USING (`ville_id`)
INNER JOIN `inspitravel`.`villes_booking` AS `r3`
ON `r1`.`ville_nom_reel` = `r3`.`full_name`
この条件でこれらの結果をフィルタリングするにはどうすればよいですか?
`r1`.`ville_population_2012` > 10000
あなたは、これはフランス語のサイトであると思わせるでしょうか?あなたはフランス語の投稿を見ましたか? –
あなたの質問は、 'WHERE r1.ville_population_2012> 10000'を追加しようとしましたか? –
SQL Serverタグを削除しました。これは明らかにMySQLです。 –