1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. Datenbank Forum - MySQL und andere Datenbanksoftware

MySQL: JOIN

  • Darkxor
  • 28. Juni 2009 um 14:37
  • Darkxor
    Prinz(essin)
    Reaktionen
    1
    Beiträge
    663
    • 28. Juni 2009 um 14:37
    • #1

    Da ist das Tutorial:
    Tutorial Mysql Left Join
    ----------------------
    Hallo,
    ich wollte mal fragen ob wer von euch ein gutes deutsches nicht
    zu langes Tutorial über Join kennt.
    Da gibt es ja allerhand Sachen die man damit machen kann.

    Ich möchte gerne durch dem Tutorial den Unterschied von
    Join zu
    select * from id, nummer where id.nummer_id = 2 AND nummer.id_id = 3
    ist lernen und vorallem das ich es nachher selbst einsetzen kann.

    Ich habe es zwar schon benutzt mir fehlt jedoch noch das nötige
    Hintergrundwissen.

    Danke

    Einmal editiert, zuletzt von Darkxor (19. August 2009 um 00:09)

  • Bandit
    Gast
    • 28. Juni 2009 um 15:37
    • #2

    Google sagt:

    Ergebnisse 1 - 10 von ungefähr 757.000 für mysql join tutorials. (0,23 Sekunden)

    Das sollte reichen, oder?

  • Pion
    Gast
    • 28. Juni 2009 um 17:11
    • #3

    Hm was brauchst du den dazu noch hast doch schon nen prima joint:P

    1. link ist gut http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/

  • Darkxor
    Prinz(essin)
    Reaktionen
    1
    Beiträge
    663
    • 28. Juni 2009 um 17:14
    • #4

    Hallo
    ich habe schon einige Seiten nach

    join mysql tutorial
    join mysql tutorials

    abgeklappert, konnte jedoch kein deutsches
    finden.

    @ Pion danke sehe ich mir mal an

  • The User
    Forum Guru
    Beiträge
    4.044
    • 30. Juni 2009 um 19:50
    • #5

    Unterschied:
    JOIN ist schneller, solange du keys benutzt.

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

  • SinnlosS
    Profi
    Reaktionen
    8
    Beiträge
    666
    • 8. Juli 2009 um 11:17
    • #6

    Ich finde JOIN in der Schreibweise einfach übersichtlicher, und outer joins kann man glaub auch anders nur sehr umständlich oder mit mehreren Abfragen realisieren.
    Mal ne Beispiel-Abfrage in nem Projekt von mir, die sähe ohne JOINs glaub wesentlich unübersichtlicher aus, sofern es sich überhaupt realisieren ließe:

    SQL
    SELECT 
        b.firma,
        f.name,
        b.name,
        a.name,
        a.email,
        a.adresse,
        a.bemerkung,
        paket,adatum,edatum,po,anzahlung,endrechnung,zielgruppen,bemerkungen,keywords,voe,ansprechpartner,status,briefing,
        auftragsbeschreibung,anzahlung_bez,endrechnung_bez,angebotsnr,rechnungsnr,rechnungsnr2,kosten,foto,visuell,
        genre_main,genre_second,
        ifnull(gm.genre,0),
        ifnull(gs.genre,0)
    FROM 
        band b
        INNER JOIN firma f           ON f.id=b.firma
        INNER JOIN ansprechpartner a ON b.ansprechpartner=a.id
        LEFT  JOIN genres_main gm    ON gm.id=b.genre_main
        LEFT  JOIN genres_second gs  ON gs.id=b.genre_second
    WHERE 
        b.id=?
    LIMIT 0,1
    Alles anzeigen

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Darkxor
    Prinz(essin)
    Reaktionen
    1
    Beiträge
    663
    • 19. August 2009 um 00:06
    • #7

    Hallo ich habe nun mein eigenes Mysql Join Tutorial geschrieben. Für alle Anfänger sind dort auch Tabellen und hoffentlich leicht verständliche kurze Erklärungen.

  • SinnlosS
    Profi
    Reaktionen
    8
    Beiträge
    666
    • 19. August 2009 um 10:15
    • #8

    Yoa ist ganz nett.
    Die konsequente Verwendung von SELECT * ohne irgendeinen Hinweis, dass das in der Praxis sehr schlecht ist, finde ich nicht gut, zumal sich das Tutorial ja ganz klar an Neu-Einsteiger richtet.
    INNER JOIN hättest du auf jedenfall noch erwähnen sollen. Auch die ifnull-Funktion von SQL ist gerade für OUTER JOINS in meinen Augen erwähnenswert.
    Ansonsten ist das was angesprochen wird schon ok nach dem ersten Überfliegen.

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Darkxor
    Prinz(essin)
    Reaktionen
    1
    Beiträge
    663
    • 19. August 2009 um 21:12
    • #9
    Zitat von SinnlosS

    Yoa ist ganz nett.
    Die konsequente Verwendung von SELECT * ohne irgendeinen Hinweis, dass das in der Praxis sehr schlecht ist, finde ich nicht gut, zumal sich das Tutorial ja ganz klar an Neu-Einsteiger richtet.
    INNER JOIN hättest du auf jedenfall noch erwähnen sollen. Auch die ifnull-Funktion von SQL ist gerade für OUTER JOINS in meinen Augen erwähnenswert.
    Ansonsten ist das was angesprochen wird schon ok nach dem ersten Überfliegen.


    Hallo,
    die von dir angesprochenen Join Abfragen kenne ich selbst noch nicht :oops: ... sehe ich mir mal an, in meiner Literatur stand dazu leider nichts.

  • SinnlosS
    Profi
    Reaktionen
    8
    Beiträge
    666
    • 20. August 2009 um 10:30
    • #10

    Beim INNER JOIN werden nur die Zeilen aus der Stammtabelle ausgelesen, bei denen in der zweiten Tabelle auch ein passender Datensatz zur join-Klausel gefunden wird.
    Beim OUTER JOIN werden alle ausgelesen bei denen die WHERE-Klausel greift, wenn in der zweiten tabelle kein zugehöriger Datensatz gefunden wird werden die aus dieser Tabelle selektierten Felder auf NULL gesetzt.
    Mit der ifnull-Funktion kann man einen Wert vorgeben den ein Ergebnisfeld annimmt wenn es NULL ist

    Code
    Tabelle Bands:
    id || name  || label
    --------------------
     1 || bla   ||   2
     2 || blubb || NULL
     .....
     
    Tabelle Labels:
    id || name
    ---------------
     1 || Adrenalin
     2 || Universal
     .....
    
    
    ***** INNER JOIN Beispiel: *****
     
    SELECT
        b.name AS band,l.name AS label
    FROM
        Bands b
        INNER JOIN Labels l ON b.label=l.id
    
    
    Ergebnis:
    band  || label
    ------------------
    bla   || Universal
    
    
    ***** OUTER JOIN Beispiel *****
    
    
    SELECT
        b.name AS band,l.name AS label
    FROM
        Bands b
        LEFT JOIN Labels l ON b.label=l.id
    
    
    Ergebnis:
    band  || label
    ------------------
    bla   || Universal
    blubb || NULL
    
    
    ***** OUTER JOIN Beispiel mit ifnull() *****
    
    
    SELECT
        b.name AS band,
        ifnull(l.name,'keins') AS label
    FROM
        Bands b
        LEFT JOIN Labels l ON b.label=l.id
    
    
    Ergebnis:
    band  || label
    ------------------
    bla   || Universal
    blubb || keins
    Alles anzeigen

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

Tags

  • email
  • http
  • funktion
  • webmaster
  • tabelle
  • google
  • nummer
  • mysql
  • tutorial
  • sql
  • tutorials
  • left
  • join
  • select

Benutzer online in diesem Thema

  • 1 Besucher
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
Zitat speichern