Arten von MySQL-Joins | MySQL-Joins [mit Syntax]

Veröffentlicht: 2020-12-09

Inhaltsverzeichnis

Einführung

MySQL ist ein Open-Source-Managementsystem für relationale Datenbanken (RDBMS), das von Oracle unterstützt wird. MySQL besteht aus zwei Wörtern – „My“, dem Namen der Tochter des Mitbegründers Michael Widenius, und „SQL“, der Abkürzung für Structured Query Language.

Das Wort Relational in RDBMS ist die Grundlage für JOINS in MySQLwork. In jeder Datenbank kann es viele Arten und Anzahlen von Tabellen geben. JOINS, wie der Name schon sagt, verknüpfen Tabellen mithilfe gemeinsamer Spalten. Ein grundlegendes Beispiel ist, dass Tabelle 1 Mitarbeiterdetails und Tabelle 2 Projektdetails enthält.

Wenn wir die Projekte überprüfen müssen, an denen ein Mitarbeiter beteiligt ist, können wir die Tabellen nach Mitarbeitername oder Mitarbeiter-ID zusammenführen, wodurch die Tabellen verbunden werden und auf die neue virtuelle Tabelle (kann gespeichert werden) kann mit allen erforderlichen Informationen zugegriffen werden .

Merkmale

  • MySQL ist Open-Source und ein geeignetes RDBMS für den Zugriff auf und die Verwaltung von Datensätzen der Tabellen.
  • Es unterstützt die SQL-Codierungssprache, die im Bereich der Datenbankverwaltung sehr verbreitet ist.
  • MySQL ist einfach und einfach zu verwenden. Es hat überwältigende Mengen an Dokumentation, wenn jemand bei einem bestimmten Problem feststeckt.
  • MySQL hat eine sehr starke Sicherheitsschicht. Passwörter werden verschlüsselt, daher sind sensible Daten vor Eindringlingen sicher.
  • MySQL ist skalierbar, da es Multithreading unterstützt. Multi-Threading ist für eine schnelle Abfrageausführung und Datenmanipulation selbst bei sehr großen Tabellen verantwortlich.
  • MySQL hat eine Client/Server-Architektur. Es gibt einen Datenbankserver und viele Clients (Anwendungsprogramme), die mit dem Server verbunden sind.

Arten von Joins

Innerer Beitritt

Inner Join ist der Standard-Join-Typ in MySQL. Es verbindet und gibt übereinstimmende Datensätze aus den beiden Tabellen zurück. Es vergleicht jede Zeile einer Tabelle mit einer anderen und prüft die Join-Bedingung. Wenn die Bedingung erfüllt ist, wird eine neue Zeile mit den Spalten aus beiden Tabellen erstellt und diese neue Zeile in die Ausgabe aufgenommen.

Code-Auszug:

WÄHLE t1 . emp_id , t1.emp_name,t2.projekt_name

VON Mitarbeiter als t1

INNER JOIN - Projekt als t2

EIN t1.project_id = t2 . Projekt_ID

In dieser Abfrage gibt es zwei Tabellen. Die erste Tabelle enthält Angaben zu den Mitarbeitern und die zweite enthält alle derzeit laufenden Projekte. Nachdem die obige Abfrage ausgeführt wurde, gibt MySQL alle Mitarbeiter mit ihren jeweiligen Projektdetails zurück. Hier ist die Spalte „project_id“ ein Fremdschlüssel in der Tabelle „Employee“ und ein Primärschlüssel in der Tabelle „Projects“. Mitarbeiter ohne project_id oder project_id ohne Mitarbeiter werden nicht zurückgegeben.

Links beitreten

Left Join, verbindet und gibt übereinstimmende Datensätze aus den beiden Tabellen und die nicht übereinstimmenden Datensätze aus der ersten Tabelle zurück. Left Join gibt im Wesentlichen die Ausgabe von Inner Join + nicht übereinstimmende Datensätze aus der ersten Tabelle zurück. Diese nicht übereinstimmenden Zeilen enthalten auch die Spalten aus Tabelle 2, aber der Wert in diesen Spalten ist null, da es keine übereinstimmenden Daten für diese gibt.

Code-Auszug:

WÄHLE t1 . emp_id , t1.emp_name,t2.projekt_name

VON Mitarbeiter als t1

LEFT JOIN- Projekt als t2

EIN t1.project_id = t2 . Projekt_ID

In dieser Abfrage gibt es zwei Tabellen. Die erste Tabelle enthält Angaben zu den Mitarbeitern und die zweite enthält alle derzeit laufenden Projekte. Nach dem Ausführen der obigen Abfrage gibt MySQL alle Mitarbeiter mit ihren jeweiligen Projektdetails und auch die Mitarbeiterdetails ohne zugewiesene project_id zurück. Hier ist die Spalte „project_id“ ein Fremdschlüssel in der Tabelle „Employee“ und ein Primärschlüssel in der Tabelle „Projects“.

Lesen: Spaltennamen in SQL umbenennen

Richtig beitreten

Die rechte Verknüpfung ist der linken Verknüpfung sehr ähnlich, nur dass jetzt die nicht übereinstimmenden Datensätze aus der zweiten Tabelle in die Ausgabe aufgenommen werden und nur die übereinstimmenden Datensätze aus der ersten Tabelle.

Code-Auszug:

WÄHLE t1 . emp_id , t1.emp_name,t2.projekt_name

VON Mitarbeiter als t1

RIGHT JOIN- Projekt als t2

EIN t1.project_id = t2 . Projekt_ID

Nachdem die obige Abfrage ausgeführt wurde, gibt MySQL alle Mitarbeiter mit ihren jeweiligen Projektdetails und auch die Details der Projekte ohne übereinstimmende Mitarbeiter zurück. Die Spalten mit den Mitarbeiterdetails sind in diesen Fällen NULL.

Vollständiger Beitritt

Wie der Name schon sagt, gibt Full Join alle übereinstimmenden und nicht übereinstimmenden Datensätze zurück. Wenn MySQL übereinstimmende Zeilen in der gewünschten Spalte finden kann, werden diese Datensätze abgeglichen. Die restlichen Zeilen haben NULL-Werte.

Code-Auszug:

WÄHLEN *

VON Mitarbeiter als t1

FULL OUTER JOIN - Projekt als t2

EIN t1.project_id = t2 . Projekt_ID

Nachdem die obige Abfrage ausgeführt wurde, gibt MySQL alle Mitarbeiter mit ihren jeweiligen Projektdetails zurück, auch die Details der Mitarbeiter ohne Projekte und der Projekte ohne übereinstimmende Mitarbeiter. Bestimmte Spalten haben dementsprechend NULL-Werte.

Cross Join

Wie der Name schon sagt, verbindet Cross Join jede Zeile von Tabelle 1 mit jeder Zeile von Tabelle 2. Unabhängig von übereinstimmenden Spalten. Wenn also jede Tabelle 5 Datensätze enthält, enthält die Ausgabe 25 Zeilen, da jede Zeile mit einer anderen Zeile abgeglichen wird.

Code-Auszug:

WÄHLEN *

VON Mitarbeiter als t1

CROSS JOIN- Projekt als t2

Nachdem die obige Abfrage ausgeführt wurde, gibt MySQL alle Mitarbeiter mit allen Projektdetails zurück. Es macht zwar nicht viel Sinn, diese Informationen zu visualisieren, aber Cross Joins sind wichtig und werden in einigen speziellen und spezifischen Fällen benötigt.

Lesen Sie auch: Fragen und Antworten zu SQL-Interviews

Melden Sie sich für Software Engineering-Kurse an den besten Universitäten der Welt an. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

JOINS sind ein wichtiger Bestandteil der Datenextraktion. Sie helfen, Daten aus verschiedenen Tabellen gemäß den Bedürfnissen des Benutzers zu kombinieren. Der einzige Nachteil von JOINS kann sein, dass sie manchmal kompliziert zu schreiben sind. Letztendlich sind JOINS sehr nützlich und es können verschiedene Arten von Joins in MySQL implementiert werden.

Alles in allem wird das Erlernen und praktische Üben aller in diesem Artikel erwähnten Datenbanken zu Ihrer Erfahrung beitragen. Gehen Sie die Kursübersicht, das Lernen und die damit verbundenen Stellenangebote durch – Plattformen wie upGrad bieten leistungsstarke Kurse, die von renommierten Instituten wie IIIT-B im Executive PG Program Full Stack Development entwickelt wurden.

Bereiten Sie sich auf eine Karriere der Zukunft vor

Bewerben Sie sich jetzt für den Master in Software Engineering