を使用して、1 つのテーブルからすべてのフィールドを選択し、他のテーブルからいくつかの特定のフィールドを選択したいと考えていますLEFT JOIN
。* を使用して、1 つのテーブルからすべての列を選択し、特定のフィールドに名前を付けることはできますJOIN
か?
このようなもの:
SELECT * , table2.a, table2.b
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
構文に関しては、正しく、機能します。ただし、 を使用するのはよくありません*
。常に列リストを指定することをお勧めします。列が変更されると、アプリケーションが壊れる可能性があります。また、常に読みやすくなっています。
table1 からすべてのフィールドを取得し、table2 から特定の列のみを取得するには、次のようにします。
SELECT table1.*, table2.column, table2.column
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
1 つのテーブルからすべての列を指定するとtable1.*
、使用すると、すべてのテーブルからすべての列*
が取得されます。
MySQL は、ワイルドカードを使用した列名の順序にうるさいです。最初にする必要があります。