[SQL] Anleitung für einfache SQL-Joins

  • 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.

    SQL
    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.

    SQL
    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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!