ホームページ >データベース >mysql チュートリアル >単一のクエリで複数のテーブルの行を効率的にカウントするにはどうすればよいですか?
最適化された複数テーブルの行数クエリ
データベース管理システムでは、多くの場合、複数のテーブルから行数を取得する必要があります。 UNION ALL 演算子は個別のクエリの結果を結合できますが、常に期待どおりの出力が生成されるわけではありません。
この問題を解決するには、より効率的な方法は、SELECT ステートメントでサブクエリを使用することです。この手法を使用すると、複数のクエリを実行し、結果を目的の形式で表示できます。
クエリステートメント:
テーブル tab1 と tab2 の行数をカウントし、結果を 2 つの別個の列 Count_1 と Count_2 として表示する次のクエリについて考えてみましょう。
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual</code>
手順:
結果:
クエリを実行すると、Count_1 と Count_2 の 2 つの列を含むテーブルが返され、それぞれ tab1 と tab2 の行数が含まれます。これにより、期待される出力が得られます:
<code>Count_1 Count_2 123 456</code>
以上が単一のクエリで複数のテーブルの行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。