Mit der Operation INNER
JOIN werden mehrere Tabellen verbunden, sofern zumindest ein Datenfeld in beiden Tabellen übereinstimmt. Bei zwei per INNER
JOIN verbundenenTabellen werden nur die Datensätze übernommen, die in beiden Tabellen einen Treffer haben. Gibt es beispielsweise zu einem Kunden aus derTabelle tabKunden inder Tabelle tabRufnummern keine Rufnummer, wird dieser Kunde nicht in der Ergebnismenge ausgegeben.
InderTabelle tabKunden sind lediglich die Felder Kundennummer und Name enthalten.In derTabelle tabRufnummern sind die Felder Kundennummer und Telefon enthalten.Wenn nunals Ergebnis eine Tabelle mit den Daten Kundenummer, Name und Telefonangestrebtwird, müssendie Tabellen tabKunden und tabRufnummern verbunden werden. Hierzu wird zunächst dieTabelle tabKunden genannt und perINNER
JOIN mit der Tabelle tabRufnummernverbunden. DieVerknüpfung der Datensätzewird über die nach dem ON genannten
Spalten tabKunden.Kundennummer und tabRufnummern.Kundennummervorgenommen:
SELECT tabKunden.Kundennummer, Name, Telefon
FROM tabKunden
INNER JOIN tabRufnummern
ON tabKunden.Kundennummer = tabRufnummern.Kundennummer
Wenn Informationen aus weiteren Tabellen angestrebt werden, können die dafür benötigten Tabellen zusätzlich verbunden werden. Hier im Beispiel wird noch die Tabelle tabAnschrift verbunden, um aus dieser die PLZ auszulesen:
SELECT tK.Kundennummer, Name, Telefon, PLZ
FROM tabKunden AS tK
INNER JOIN tabRufnummern
ON tK.Kundennummer = tabRufnummern.Kundennummer
INNER JOIN tabAnschrift AS tA
ON tK.Kundennummer = tA.Kundennummer
INNER JOIN-Operationen lassen sich in Unterabfragen verschachteln.
In der Tabelle tabKunden gibt es nur die Felder Kundennummer und Name.
In der Tabelle tabRufnummern gibt es nur die Felder Kundennummer und Telefonnummer.
In der Tabelle tabAdrn gibt es nur die Felder Telefonnummer und Adr,dasFeld Kundennummer gibt es hier leider nicht.
Wenn nun als Ergebnis eine Tabelle mit den Daten Kundenummer, Name, Adr und Telefonnummer angestrebt wird, müssen die Tabellen tabKunden, tabRufnummern und tabAdrn verbunden werden:
SELECT tabKunden.Kundennummer, Name, Adr, Telefonnummer
FROM tabKunden
INNER JOIN (tabAdrn
INNER JOIN tabRufnummern
ON tabAdrn.Telefonnummer = tabRufnummern.Telefonnummer)
ON tabKunden.Kundennummer = tabRufnummern.Kundennummer
Hallo, mein Name ist Jürgen Spenner. Ich arbeite als Berufsschullehrer am Berufskolleg für Wirtschaft und Verwaltung in Leverkusen. Ich bin mittlerweile 43 Jahre alt und im Jahr 2012 von Paderborn nach Leverkusen gezogen. Dort arbeite ich als Lehrer in den Fächern Wirtschaftsinformatik, Datenverarbeitung, Betriebsorganisation, Betriebswirtschaftslehre, Informationswirtschaft und Volkswirtschaft.
Meine große Leidenschaft war schon immer die Informationsverarbeitung, insbesondere die Programmierung mit JAVA, SQL und Visual Basic.
Meinen ersten Computer habe ich mit 10 bekommen. Es handelte sich um den guten alten C64 von Commodore (auch liebevoll Brotkasten genannt!). Mit 13 Jahre gab es dann den ersten PC - ein 286er - mit 1 MB Arbeitsspeicher und einer Festplatte von 20 MB :-) eine Höllenmaschine. Der PC hatte damals noch keine Soundkarte, eignete sich aber bestens für das Spielen von Stunts, Monkey Island und Lemmings.