Version: Test
©Raddy 2001

SQL mit Oracle X                                      zurück

Eindeutige
Spaltenangabe
bei Joins
a-absatz.pcx (280 Byte)
Gegebene Tabellen

Kunde

Auftrag

KNummer KName
1 Elektro Müller
2 Holz Meier
3 Holz Schulze
4 Sanitär Bauer
5 Fliesen Paul
ANummer KNummer
1 1
2 3
3 2
4 2
5 3
 
a-absatz.pcx (280 Byte)

 
Eindeutige Spaltenangabe

Wir haben gesagt, daß ein Join eine Verknüpfung von Spaltenwerten
aus mehreren Tabellen ist. Nun taucht, wie man in den Tabellen oben
sieht, folgendes Problem auf:

Die Spalte Kundennummer (KNummer) taucht sowohl in der Tabelle
Kunde als auch in der Tabelle Auftrag auf. Dabei findet man in  der 
Spalte Kundennummer in der Tabelle "Kunde" andere Werte, als in der
Spalte Kundennummer in der Tabelle "Auftrag". In der Tabelle Auftrag
 taucht z.B. die KNummer 4 nicht auf.

Deshalb muß man folgendes machen: 

	Taucht in einem Join eine Spalte auf, die in mehreren 
	Tabellen vorkommt, so muß man vor die Spalte den
	Namen der Tabelle schreiben, aus der sie stammt.

Anmerkung:
Natürlich darf man auch vor einem eindeutigen Spaltennamen
den Namen der Tabelle schreiben, zu der die Spalte gehört.
a-absatz.pcx (280 Byte)

Beispiel

Als Beispiel stellen wir den Cross-Join der vorigen Seite
nochmals dar:

	Select  Mann.MName, Frau.FName
	from Mann, Frau

Wie gesagt, ist diese Schreibweise (Tabelle.Spalte) beim 
Cross-Join meist nicht nötig, aber auf jeden Fall immer möglich.

Im nächsten Kapitel werden wir dann den Inner-Join behandeln. 
Dort werden wir diese Schreibweise fast immer benutzen müssen. 

In der Praxis sollte man sich angewöhnen, diese Schreibweise
prinzipiell zu benutzen, da sie die Lesbarkeit von Programmen erhöht.