So verwenden Sie Spaltenname Join Join und Inner in SQL

SQL bietet verschiedene Arten von Verknüpfungen, einschließlich der Spaltenname join und innere join, Sie erreichen Ihre spezifische Aufgabe zu helfen. Hier sind einige Beispiele führen Sie auf dem SQL-Reise zu helfen.

Menu

Spaltenname beitreten

Das Spaltenname beitreten ist wie ein natürlicher beitreten, aber es ist flexibler. In einem natürlichen Join alle Quelltabelle Spalten, die den gleichen Namen haben, sind miteinander auf Gleichheit verglichen. Mit der Spaltenname beizutreten, wählen Sie den gleichen Namen haben, die Spalten zu vergleichen. Sie können sie alle wählen, ob Sie wollen, so dass der Spaltenname (effektiv) eine natürliche Join.

Oder Sie können weniger als alle den gleichen Namen haben Spalten auswählen. Auf diese Weise haben Sie ein hohes Maß an Kontrolle über die Querproduktreihen in die Ergebnistabelle platziert werden qualifizieren.

Angenommen, Sie sind ein Schach-Set Hersteller und haben ein Inventar-Tabelle, die den Überblick über Ihre Bestandsaufnahme der weißen Stücke hält und eine andere, die verfolgt schwarzen Figuren. Die Tabellen enthalten Daten wie folgt:

WEISS SCHWARZ ----- ----- Stück Quant Holzstück Quant Holz ----- ----- ---- ----- ----- ---- König 502 Oak König 502 EbonyQueen 398 Oak Königin 397 EbonyRook 1020 Oak Rook 1020 EbonyBishop 985 Oak Bishop 985 EbonyKnight 950 Oak Ritter 950 EbonyPawn 431 Oak Pfand 453 Ebony

Für jedes Stück-Typ, sollte die Anzahl der weißen Figuren die Anzahl der schwarzen Figuren entsprechen. Wenn sie nicht übereinstimmen, einige Schachfiguren verloren gehen oder gestohlen werden, und Sie müssen Sicherheitsmaßnahmen verschärfen.

Eine natürliche Join vergleicht alle Spalten mit demselben Namen für die Gleichstellung. In diesem Fall wird eine Ergebnistabelle keine Zeilen erzeugt, da keine Zeilen in der HOLZ Spalte in der weißen Tabelle entsprechen alle Zeilen in der HOLZ Spalte in der schwarzen Tisch.

Diese Ergebnistabelle hilft Ihnen nicht bestimmen, ob eine Ware fehlt. Stattdessen tun ein Spaltenname verbinden, dass die ausschließt HOLZ Spalte aus der Betrachtung. Es kann wie folgt aussehen:

SELECT * FROM WHITE JOIN BLACKUSING (Piece, Quant) -

Die Ergebnistabelle zeigt nur die Zeilen, für die die Anzahl der weißen Stück auf Lager, die Anzahl der schwarzen Figuren ist gleich:

Stück Quant Holzstück Quant Holz ----- ----- ---- ----- ----- ---- König 502 Oak König 502 EbonyRook 1020 Oak Rook 1020 EbonyBishop 985 Oak Bishop 985 EbonyKnight 950 Oak Ritter 950 Ebony

Der kluge Mensch kann ableiten, dass Königin und Pfand aus der Liste fehlt, was auf einen Mangel irgendwo für die Stück-Typen.

INNER JOIN

Inzwischen sind Sie wahrscheinlich die Idee bekommen, die verbindet ziemlich esoterisch und dass es einen ungewöhnlichen Grad der geistlichen Unterscheidung nimmt angemessen mit ihnen umgehen. Sie haben vielleicht sogar von der mysteriösen gehört INNER JOIN und spekuliert, dass es wahrscheinlich den Kern oder das Wesen von relationalen Operationen darstellt.

Na ja, ha! Der Witz ist auf Sie: Es gibt nichts Mysteriöses innere verbindet. Der Spaltenname beitreten konnte im letzten Beispiel formuliert als eine innere Verknüpfung mit der folgenden Syntax:

SELECT * FROM WHITE INNER JOIN BLACKUSING (Piece, Quant) -

Das Ergebnis ist das gleiche.

Der innere join wird so genannt, es von der äußeren zu unterscheiden verbinden. Eine innere Verknüpfung verwirft alle Zeilen aus der Ergebnistabelle, die keine entsprechenden Zeilen in den beiden Quelltabellen haben. Eine äußere Verknüpfung bewahrt unerreichte Reihen. Das ist der Unterschied. Nichts metaphysische darüber.

Menü