ホームページ >データベース >mysql チュートリアル >LIMIT 1 を指定した UNION ALL は連続クエリを効率的にシミュレートできますか?
UNION ALL を使用した順次選択クエリ
問題:
を使用してデータベース テーブル内の単一行を検索する検索条件は段階的に減少します。例:
SELECT * FROM image WHERE name LIKE 'text' AND group_id = 10 LIMIT 1
結果が得られない場合は、次を実行します:
SELECT * FROM image WHERE name LIKE 'text' LIMIT 1
それでも結果が得られない場合は、 execute:
SELECT * FROM image WHERE group_id = 10 LIMIT 1
このプロセスは単一で実行できますか?式?
解決策:
SELECT * FROM image WHERE name = 'name105' AND group_id = 10 UNION ALL SELECT * FROM image WHERE name = 'name105' UNION ALL SELECT * FROM image WHERE group_id = 10 LIMIT 1;
説明:
一般的な解決策:
上記のアプローチは、追加の SELECT ステートメントを UNION ALL チェーンに追加することで、任意の数の検索パラメーターに対して一般化できます。
ソートに関する考慮事項結果:
LIMIT 句は結果全体に適用されるため、最初の行のみが返されるため、並べ替えは特に役に立ちません。
以上がLIMIT 1 を指定した UNION ALL は連続クエリを効率的にシミュレートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。