SQL で 2 つのテーブルを結合する方法
SQL では、テーブルを結合することで、共通の列に基づいて複数のテーブルのデータを結合できます。内部結合、左結合、右結合、完全外部結合など、さまざまなタイプの結合を使用できます。
ここでは、左外部結合を使用して 2 つのテーブル A とテーブルからデータをフェッチする例を示します。 B:
テーブル:
TABLE A | TABLE B | ||
---|---|---|---|
uid | name | uid | address |
1 | test1 | 1 | address1 |
2 | test2 | 2 | address2 |
3 | test3 | 4 | address3 |
4 | test4 |
クエリ:
SELECT A.uid, A.name, B.address FROM A LEFT JOIN B ON A.uid=B.uid;
出力:
uid | name | address |
---|---|---|
1 | test1 | address1 |
2 | test2 | address2 |
3 | test3 | NULL |
4 | test4 | address3 |
ご覧のとおり、結果には、テーブル A のすべての行とテーブル B の一致する行が含まれます。テーブル A の uid=3 の行の場合、テーブル B には一致する行がないため、アドレス列は NULL に設定されます。
結合がどのように機能するかを理解するには、プロセスを視覚化すると役立ちます。左外部結合の場合、左テーブル (この場合は A) の行が最初に考慮されます。左側のテーブルの各行について結合条件が評価され、右側のテーブル (この場合は B) で一致する行が検索されます。一致するものが見つかった場合、両方の行のデータが 1 つの結果行に結合されます。一致するものが見つからなかった場合は、左側のテーブルのデータのみが結果行に含まれ、右側のテーブルで欠落している列は NULL に設定されます。
https://www.codeproject の画像を参照してください。結合の視覚的表現については、.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png を参照してください。
以上がSQL 結合は複数のテーブルのデータをどのように結合しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。