ホームページ >データベース >mysql チュートリアル >MySQL で同一の構造を持つ複数のテーブルを効率的にクエリするにはどうすればよいですか?
同一の構造を持つ複数のテーブルのクエリ: MySQL
データベースを操作する場合、データ構造は同一だがデータが異なるテーブルが存在することがよくあります。 。これは、ローカリゼーションやデータシャーディングなどの要因によって発生する可能性があります。このようなテーブル全体でデータを取得すると、特に特定のユーザー定義列に基づいて結果を並べ替える場合に問題が発生する可能性があります。
例に示すように、単純な SELECT ステートメントを使用して複数のテーブルのデータを結合する場合に、1 つの一般的な問題が発生します。提供された。 MySQL は、テーブルのどのジャンル列をフィルタリング条件に使用するかを決定できないため、このクエリを曖昧な結合として解釈します。
解決策は、MySQL の UNION 演算子を利用することです。 UNION 句を使用すると、複数の SELECT ステートメントの結果を 1 つの結果セットに結合できます。この場合、UNION を使用して、各テーブルの結果を単一の並べ替えられた結果セットに追加できます。
(SELECT * from us_music WHERE `genre` = 'punk') UNION (SELECT * from de_music WHERE `genre` = 'punk')
UNION を使用すると、共通のフィルター条件を適用して維持しながら、複数のテーブルにわたってデータを取得できます。希望の並べ替え順序。
以上がMySQL で同一の構造を持つ複数のテーブルを効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。