Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
SQL Join
2
Modellierungsspezialisten
SQL Profis
3
Dann fragen wir mal ab! DRITTE NORMALFORM!
4
„Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
5
Die Lösung: JOINS Mit Joins kann man zwei oder mehrere Tabellen verknüpfen
6
Willkommen im Versuchslabor
Unser Ziel: Das Erforschen von JOINs
7
Erster Versuch Select Name, Straße, Hausnnummer, PLZ, , Klassenbezeichnung, Zweig FROM Schüler, Klassen
8
Was passiert mit den Einträgen?
Leider Nein! Jeder mit Jedem!
9
CROSS JOIN SELECT * FROM Tabelle1, Tabelle2
10
Was wir wollen: SELECT Name, Straße, Hausnummer, PLZ, , Klassenbezeichnung, Zweig FROM Klassen, Schüler WHERE Schüler.ID = Klassen.Zweig
11
INNER JOINS SELECT * FROM Tabelle1, Tabelle2 WHERE Tab1.id = Tab2.id FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2
12
Kurzschreibweise für Tabellennamen
SELECT * FROM Bestellungen as bes INNER JOIN Kunden as kun ON bes.KundenId = kun.ID WHERE bes.Preis > 40;
13
INNER JOIN SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4
14
LEFT JOIN SELECT * FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4
15
RIGHT JOIN SELECT * FROM Tabelle1 RIGHT JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4 Datensatz 4
16
Gibt es in ACCESS nicht! OUTER JOIN
SELECT * FROM Tabelle1 OUTER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4 Datensatz 4
17
Verschachtelung SELECT * FROM Tabelle1 INNER JOIN (Tabelle2
JOINs lassen sich beliebig oft verschachteln Tabelle1 Tabelle2 Tabelle3 Tabelle 4 Wert A Wert B Wert C Wert D Wert E Wert F Wert G SELECT * FROM Tabelle1 INNER JOIN (Tabelle2 INNER JOIN (Tabelle3 INNER JOIN (Tabelle4 […] ON Tabelle4.WertF = Tabelle3.WertE) ON Tabelle3.WertD = Tabelle2.WertC) ON Tabelle1.WertA = Tabelle2.WertB
18
Einschränkungen Zwei JOINs aus einer Tabelle sind schwierig.
Wert C Wert A Wert B Wert D Zwei JOINs aus einer Tabelle sind schwierig. Entweder findet man einen Weg die Tabellen anders zu verknüpfen, oder man benutzt die Schreibweise mit WHERE.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.