1

を使用して、1 つのテーブルからすべてのフィールドを選択し、他のテーブルからいくつかの特定のフィールドを選択したいと考えていますLEFT JOIN。* を使用して、1 つのテーブルからすべての列を選択し、特定のフィールドに名前を付けることはできますJOINか?

このようなもの:

SELECT * , table2.a, table2.b 
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
4

3 に答える 3

1

構文に関しては、正しく、機能します。ただし、 を使用するのはよくありません*。常に列リストを指定することをお勧めします。列が変更されると、アプリケーションが壊れる可能性があります。また、常に読みやすくなっています。

于 2013-01-15T23:06:18.353 に答える
1

table1 からすべてのフィールドを取得し、table2 から特定の列のみを取得するには、次のようにします。

SELECT table1.*, table2.column, table2.column
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
于 2013-01-15T23:08:22.997 に答える
0

1 つのテーブルからすべての列を指定するとtable1.*、使用すると、すべてのテーブルからすべて*が取得されます。

MySQL は、ワイルドカードを使用した列名の順序にうるさいです。最初にする必要があります。

于 2013-01-15T23:09:20.140 に答える