ホームページ >データベース >mysql チュートリアル >データを失わずに列数が異なるテーブルを結合するにはどうすればよいですか?
列数が等しくないテーブルの結合
列数が異なるテーブルのデータを結合するには、データ損失を防ぐ戦略が必要です。 この例では、すべてのデータを保持しながら、テーブル A (列が多い) とテーブル B (列が少ない) をマージする方法を示します。
解決策には、小さいテーブルに欠落している列のプレースホルダーとして NULL
値を使用することが含まれます。これにより、結合された結果で一貫した列数が維持されます。
SQL クエリは次のとおりです:
<code class="language-sql">SELECT Col1, Col2, Col3, Col4, Col5 FROM TableA UNION ALL SELECT Col1, Col2, Col3, NULL, NULL FROM TableB</code>
このクエリは両方のテーブルのデータを結合します。 NULL
は、Col4
の列構造と一致して、Col5
選択の TableB
と TableA
に明示的に割り当てられます。これにより、両方のテーブルのすべての列が保存され、必要に応じてギャップを NULL
で埋められます。 UNION ALL
の代わりに UNION
を使用すると、重複した行が両方のテーブルに存在する場合に保持されます。
この方法により、列構造が異なるテーブルを効率的に結合でき、複数のデータ ソースにわたるシームレスなデータ分析と操作が容易になります。
以上がデータを失わずに列数が異なるテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。