/ / MySQL verwendet * zusammen mit Spaltennamen aus verknüpften Tabellen - mysql, sql, join, left-join

MySQL verwendet * zusammen mit Spaltennamen aus verbundenen Tabellen - mysql, sql, join, left-join

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 № 1

Um 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.