Guten Tag Community,
ich möchte mal ein kleines Tutorial über SQL-Joins verfassen
da ich euch davon überzeugen möchte dass es simpel und einfach übersichtlicher ist
und euch praktisch viel Zeit spart.
Zudem erstmal; Was sind überhaupt sog. "Joins"?
Joins sind wie der Name schon sagt Vereinigungen zwischen zwei oder mehr
Tabellen einer Datenbank mit einer bestimmten Kennung wie der ID. Im einfachen
Regelfall werden aber meistens nur 2 Tabellen in einer Abfrage verknüpft. Mit
Joins können dann 2 Tabellen-Spalten ausgegeben werden mithilfe einer Abfrage
Ein Datensatz-Beispiel:
Spoiler anzeigen
Tabelle: User ##########
# ID --# Username -------#
# 1--- # MeinUsername--#
#####################
Tabelle: Emails ####################
#Userid ----- # Email --------------------#
#1 ------------# email@webgmail.de ---#
#################################
Nun können wir mit einer Join Abfrage die Daten aus den zwei Tabellen auslesen.
Die Bedingung dafür ist aber dass man einen Identiyfier hat dem man die Datensätze
verknüpft. Wir benutzen in unserem Fall dafür die "ID" mit "Userid".
Aber wie Verknüpfen wir? Das machen wir in unserem SQL-Query.
SELECT User.Username, Emails.Email FROM User INNER JOIN Emails ON User.ID = Emails.Userid
Nun können wir schon die Datensätze ausgeben und damit arbeiten.
Die Ausgabe der Datensätze erfolgt folgendermaßen:
User.Username -> Username
Emails.Userid -> Userid
Ausgabeergebnisse:
Spoiler anzeigen
Sollte Username doppelt in beiden Tabellen auftauchen dann würde das Ausgabeergebnis so erfolgen
User.Username -> User.Username
Emails.Username -> Emails.Username
Verhindern kann man das durch setzen im Query von Namenserweiterungen.
SELECT User.Username, AS Username1 Emails.Username AS Username2 FROM User INNER JOIN Emails ON User.ID = Emails.Userid
User.Username->Username1
Emails.Username->Username2
Mit freundlichen Grüßen, WebBlex
Bei Fragen stehe ich euch gerne zur Verfügung via. Private Nachricht oder
auch hier in diesem Thread.