Ich möchte alle Felder aus einer Tabelle und auch einige bestimmte Felder aus anderen Tabellen mit auswählen LEFT JOIN
. Kann ich mit dem * alle Spalten aus einer Tabelle auswählen und auch die spezifischen Felder aus der Tabelle benennen? JOIN
?
Etwas wie das:
SELECT * , table2.a, table2.b
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
Antworten:
1 für die Antwort № 1Um alle Felder aus Tabelle1 und nur bestimmte Spalten aus Tabelle2 abzurufen, verwenden Sie:
SELECT table1.*, table2.column, table2.column
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
1 für die Antwort № 2
Syntaxmäßig ist es richtig und funktioniert. Es ist jedoch keine gute Praxis *
. Ich würde empfehlen, immer eine Spaltenliste anzugeben. Wenn sich die Spalten ändern, wird Ihre Anwendung möglicherweise unterbrochen. Es ist auch immer besser für die Lesbarkeit.
0 für die Antwort № 3
Mit geben Sie alle Spalten einer Tabelle an table1.*
Wenn du benutzt *
Sie erhalten alle Spalten aus alle Tabellen.
MySQL ist pingelig in der Reihenfolge der Spaltennamen mit Platzhalterzeichen - sie müssen an erster Stelle stehen.