Ja, das ist Standard-SQL. Dies ist eine Antwort, um die gültigen Formen von Inner join
Operationen in SQL zusammen mit dem, was im Allgemeinen benachteiligt ist und warum.
Die ersten sind die alten Stil "implizite Cross Join und Filter" -Ansatz. Auf diese Weise würden Sie schreiben:
SELECT *
FROM a, b
WHERE a.c=b.c
Diese Regel benachteiligt wird, weil die Join-Bedingung zu trennen und die Verbindung selbst macht es schwieriger, die Abfrage zu beheben, schwieriger zu lesen, und deshalb schwieriger zu pflegen. Die nächsten zwei gleichwertigen Ansätze sind das, was Sie verwenden:
SELECT *
FROM a
INNER JOIN b ON a.c = b.c
nun ein weiteren Ansatz gibt es hier, die auch funktioniert (aber laufen in Probleme in einigen:
SELECT *
FROM a
JOIN b ON a.c = b.c
Sie auch INNER JOIN
statt JOIN
verwenden können Fälle), das ist das, da Sie die gleiche Abfrage verwenden Sie die using
Schlüsselwort verwenden können:
Schließlich gibt
SELECT *
FROM a
JOIN b USING (c);
ist die natürliche verbinden, dass c unter der Annahme, die die gleichen wie USING
außer, dass sie alle Spalten mit dem gleichen Namen nehmen:
SELECT *
FROM a
NATURAL JOIN b;
wir ON
Normalerweise verwenden, weil es von den Join-Bedingungen in dem gleichen Teil eindeutig und legt ist die Abfrage als Join selbst, was die Wartung erleichtert.
Sicher. Hättest du es nicht einfach versucht und deine Antwort bekommen? In zukünftigen SQL-Fragen sollten Sie Ihre [RDBMS (MySQL, Oracle, SQL Server, usw.)] (https://en.wikipedia.org/wiki/Relational_database_management_system) markieren. – Santi
Ja - Willkommen bei SQL! –