Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Schnelle Aufschlüsselung der Join-Typen

Basierend auf Ihrem Kommentar finden Sie einfache Definitionen von jedem am besten bei W3Schools Die erste Zeile jedes Typs enthält eine kurze Erläuterung des Join-Typs

  • JOIN:Gibt Zeilen zurück, wenn es mindestens eine Übereinstimmung in beiden Tabellen gibt
  • LEFT JOIN:Gibt alle Zeilen aus der linken Tabelle zurück, auch wenn es keine Übereinstimmungen in der rechten Tabelle gibt
  • RIGHT JOIN:Gibt alle Zeilen aus der rechten Tabelle zurück, auch wenn es keine Übereinstimmungen in der linken Tabelle gibt
  • FULL JOIN:Gibt Zeilen zurück, wenn es eine Übereinstimmung in einer der Tabellen gibt

BEARBEITUNG ENDE

Kurz gesagt, das kommagetrennte Beispiel, das Sie für

gegeben haben
SELECT * FROM a, b WHERE b.id = a.beeId AND ...

wählt jeden Datensatz aus den Tabellen a und b mit den Kommas, die die Tabellen trennen, dies kann auch in Spalten wie

verwendet werden
SELECT a.beeName,b.* FROM a, b WHERE b.id = a.beeId AND ...

Es erhält dann die angewiesenen Informationen in der Zeile, in der die Spalte b.id und die Spalte a.beeId in Ihrem Beispiel übereinstimmen. In Ihrem Beispiel erhält es also alle Informationen aus den Tabellen a und b, in denen die b.id gleich a ist. beeId.In meinem Beispiel erhält es alle Informationen aus der b-Tabelle und nur Informationen aus der a.beeName-Spalte, wenn die b.id gleich der a.beeId ist. Beachten Sie, dass es auch eine AND-Klausel gibt, dies hilft bei der Verfeinerung deine Ergebnisse.

Einige einfache Tutorials und Erläuterungen zu mySQL-Joins und Left-Joins finden Sie in den mySQL-Tutorials von Tizag. Sie können sich auch die Website von Keith J. Brown ansehen für weitere Informationen über Joins, die auch ziemlich gut sind.

Ich hoffe, das hilft dir