ホームページ >データベース >mysql チュートリアル >単一のクエリで複数の SELECT ステートメントを効率的に組み合わせるにはどうすればよいですか?
複数の SELECT ステートメントを効率的に結合する
データ分析では一般的なニーズとして、複数の SELECT ステートメントを単一の最適化されたクエリに結合することが不可欠です。この課題は、前述の例のように、同様のスキーマに従う複数のテーブルまたはデータベースからデータを取得するときに発生します。
中間行の破棄を防ぎ、それぞれに対応する複数の行を持つ単一列の結果を取得するため。スキーマを変更するには、クエリの構文を変更する必要があります。
解決策は、個々の SELECT ステートメントを括弧で囲むことです。この手法により、構文が明確になり、サブステートメント内で制限操作を適用できるようになり、各テーブルから 1 つの行のみが返されるようになります。
UNION ALL 演算子を使用してサブステートメントを結合すると、望ましい結果。必要な括弧を付けて変更したクエリを次に示します。
(SELECT result FROM tbl1 LIMIT 1) UNION ALL (SELECT result FROM tbl2 LIMIT 1)
UNION ALL 演算子は、重複を削除せずにサブステートメントの結果を結合し、スキーマの数と同じ数の行を含む単一列の結果を作成します。
この手法は、MySQL ドキュメントで概説されている UNION 演算子のガイドラインに従い、ORDER BY と LIMIT を指定します。かっこで囲んだ場合、句を部分式に適用できます。それ以外の場合、これらの句は UNION の個々の入力ではなく、UNION の全体的な結果に適用されます。
括弧を利用することにより、クエリは複数のスキーマから効率的にデータを取得し、スキーマ内でのさらなる分析やレポート作成を可能にします。 Excel またはその他のツール。
以上が単一のクエリで複数の SELECT ステートメントを効率的に組み合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。