SQL schließt sich an, wo oder auf

SQL schließt sich an, wo oder auf

In MySQL, die “VERBINDENKlausel wird verwendet, um verschiedene Tische zu verbinden. Der "ANKlausel in der Join -Erklärung definiert eine Join -Bedingung. Während "WOKlausel filtert die Daten von Verbindungstabellen basierend auf einer bestimmten Bedingung. Benutzer können die „verwenden“AN" Und "WOKlauseln mit logischen Operatoren, um mehrere Bedingungen gleichzeitig zu integrieren.

In diesem Beitrag werden die Verwendung von "Wo und" On "-Klauseln besprochen, um Tabellen in MySQL zu beitreten.

Methode 1: SQL verbindet die Klausel "On"

Mit der Klausel „On“ in MySQL können Sie eine Erkrankung definieren, während Sie Tabellen mit der Klausel „Join“ verbinden. Die Syntax ist unten angegeben:

WÄHLEN *
Aus [Tabelle1-Name]
Join [Tabelle2-Namen]
Unter der Bedingung];


Beispiel 1: Verbinden Sie die Verwendung der Klausel mit der Klausel

Betrachten wir den folgenden Code, der zwei Tabellen mithilfe von "mit" verbindet "ANKlausel:

WÄHLEN *
Aus dem Zeitplan
Schließen Sie UserData bei
Nach Plan.tag = userData.freier Tag;


Die ausgewählten Tabellen werden basierend auf dem „basierend auf dem“ verbundenTag" Und "freier TagSpalten, die mit dem angegeben sindAN”Klausel.

Ausgang


Die Ausgabe zeigte, dass die Tabellen basierend auf dem jeweiligen Zustand verbunden wurden.

Beispiel 2: SQL verbindet die Klausel "On" mit logischen Operatoren

In MySQL können logische Operatoren mit der „verwendet werden“ANKlausel, um Tabellen zu verbinden, die auf mehreren Bedingungen basieren. Lassen Sie uns ein Beispiel sehen:

WÄHLEN *
Vom Benutzer
Probe beitreten
Auf Benutzer.ID = Probe.ID und (Beispiel.City = 'Madrid' oder Probe.Land = 'Mexiko');


Im obigen Code werden die logischen Operatoren in der Ein -Klausel verwendet, um die Verbindungskriterien der Tabelle zu definieren. Die angegebenen Tabellen werden basierend auf den folgenden Bedingungen verbunden:

    • Bedingung 1: Die IDs müssen in beiden Tabellen gleich sein.
    • Bedingung 2: in “Probe"Tisch, entweder die Stadt ist"Madrid"Oder das Land ist"Mexiko”.

Ausgang


Die Ausgabe zeigte, dass die Tabelle “Benutzer" Und "ProbeWurden gemäß den angegebenen Bedingungen verbunden.

Methode 2: SQL verbindet die Klausel "Wo"

In MySQL, die “WOKlausel extrahiert die Ergebnisse basierend auf bestimmten Bedingungen. Es kann mit dem verwendet werdenVERBINDENKlausel, um mehr als eine Tabelle basierend auf einer bestimmten Bedingung beizutragen. Die Syntax ist unten angegeben:

WÄHLEN *
Aus [Tabelle1-Name]
Join [Tabelle2-Namen]
Wo [Zustand];


Beispiel 1: Verbinden von Tabellen basierend auf einem bestimmten Zustand

Das Folgende ist ein Beispiel für das Verbinden von zwei Tabellen mit der “WO"Klausel und die SQL"VERBINDENKlausel:

WÄHLEN *
Aus dem Zeitplan
Schließen Sie UserData bei
Wo Zeitplan.tag = userData.freier Tag;


Im obigen Code,

    • Der "VERBINDEN”Wird verwendet, um dem„ dem “beizutreten“Zeitplan" Und "BenutzerdatenTische.
    • Der "WOKlausel filtert die Daten der Tabelle basierend auf dem “Tag" Und "freier Tag" Säulen.
    • In der resultierenden Tabelle werden nur die Datensätze abgerufen, die in beiden Spalten der Zieltabellen üblich sind:

Ausgang


Der Ausgang zeigte, dass die Tabellen gemäß dem angegebenen Zustand verbunden waren.

Beispiel 2: Verbinden von Tabellen basierend auf mehreren Bedingungen

Der "WODie Klausel kann mit dem logischen Operator verwendet werden, um Tabellen basierend auf mehreren Bedingungen zu verbinden:

WÄHLEN *
Aus dem Zeitplan
Schließen Sie UserData bei
Wo Zeitplan.tag = userData.Dayoff und (Zeitplan.Id = userData.AUSWEIS);


Im obigen Beispiel werden mehrere Bedingungen in der “angegebenWOKlausel mit dem logischen (und) Operator. Wenn beide Bedingungen als "bewertet werden"WAHR”, Dann wird der spezifische Datensatz zurückgegeben.

Ausgang


Die Ausgabe zeigt, dass zwei Tabellen unter mehreren Bedingungen verbunden wurden (i.e., Beide Tische ' Ausweis Und Tag, freier Tag Spalten hatten die gleichen Werte).

Methode 3: SQL verbindet sich mit "On" und "Wo" Klauseln

Beim Schließen von Tischen in MySQL “,“WO" Und "ANKlauseln können zusammen verwendet werden. Um dies zu demonstrieren, betrachten Sie die folgenden Beispiele.

Beispiel 1: Verwenden einer Kombination aus "Ein" und "Wo" -Klausel

In diesem Beispiel werden die Klauseln „On“ und „Wo“ verwendet, um sich dem anzuschließen “MITARBEITER" Und "PROBETabellen basierend auf mehreren Bedingungen:

Wählen Sie Mitarbeiter.ID, Mitarbeiter.ContactName, Mitarbeiter.Stadt, Probe.ID, Beispiel.Vorname,
Probe.Stadt
Vom Mitarbeiter
Schließen Sie die Probe an der Probe an.Id = Mitarbeiter.AUSWEIS
Wo Mitarbeiter.City = 'London';


Im obigen Beispiel:

    • Der "ANDie Klausel wird verwendet, um zwei Tische basierend auf ihren zusammenzuschließen IDS.
    • Der "WOKlausel filtert das Ergebnis nach dem Stadt Säule der MITARBEITER Tisch.

Ausgang


Der Ausgang zeigte, dass die Tabellen gemäß den angegebenen Bedingungen verbunden waren.

Beispiel 2: Verwenden einer Kombination aus „Ein“ und „wo“ mit dem logischen Operator

Lassen Sie uns lernen, wie Sie verschiedene Tabellen basieren, die auf mehreren Bedingungen basieren, die logische Operatoren mit dem Ein und an den Klauseln verwenden:

WÄHLEN *
Vom Benutzer
Probe beitreten
Auf Benutzer.ID = Probe.Ausweis
Wo Probe.City = 'Madrid' oder Probe.Land = 'Mexiko';


Im obigen Beispiel:

    • Der "ANKlausel verbindet sich den angegebenen Tischen basierend auf ihren IDS.
    • Im WO Klausel, der logische oder Bediener wird verwendet, um das Ergebnis gemäß dem zu filtern Stadt oder Land von MITARBEITER Tisch.

Ausgang


Der obige Ausgang zeigte, dass die Tabellen in Bezug auf die beschriebenen Bedingungen verbunden waren.

Beispiel 3: Verwenden der Kombination von ON und wo mit dem linken Join

Der "Links Join”Gibt alle Datensätze der linken Tabelle und nur die entsprechenden/passenden Datensätze der rechten Tabelle zurück. Es kann mit beiden verwendet werden “AN" Und "WOKlauseln, während Sie Tische verbinden:

Wählen Sie Mitarbeiter.ID, Mitarbeiter.ContactName, Mitarbeiter.Stadt, Probe.ID, Beispiel.Vorname,
Probe.Stadt
Vom Mitarbeiter
Links Join Probe auf Probe.Id = Mitarbeiter.AUSWEIS
Wo Mitarbeiter.City = 'London';


Ausgang


Die Ausgabe zeigte, dass die linke Tabelle alle Datensätze enthält, aber die rechte Tabelle nur bedingte übereinstimmende Datensätze enthält.

Abschluss

In MySQL können Tabellen mit der Join -Klausel verbunden werden. A "WO"Klausel, eine"ANKlausel oder beide "Wo" und "On" -Klauseln können verwendet werden, um Tabellen basierend auf bestimmten Bedingungen zu verbinden. Die Klausel „On“ in der Join -Anweisung definiert eine Join -Bedingung. Während die Klausel "Wo" die Daten von Verbindungstabellen basierend auf einer bestimmten Bedingung filtert. In diesem Beitrag wurde eine umfassende Anleitung zum Verbinden von Tabellen mit den Klauseln „ON“ oder „Wo“ vorgestellt.