Kreuzprodukt und Join

Download Report

Transcript Kreuzprodukt und Join

Kreuzprodukt und Join
cd
CDTitel
band
Bandname
Der Blinddarm
Doktoren
Bandname
Hell out of it
Devils
Devils
Pop
Mountains
Tears
Doktoren
Punk
Tears
Gothic
When the devils ride Devils
Stil
Ziel:
Liste aller CD-Titel mit dem
Stil der jeweiligen Band
Kreuzprodukt und Join
cd
CDTitel
band
Bandname
Der Blinddarm
Doktoren
Bandname
Hell out of it
Devils
Devils
Pop
Mountains
Tears
Doktoren
Punk
Tears
Gothic
When the devils ride Devils
1. Lösungsversuch:
SELECT CDTitel, Stil
FROM cd, band;
Stil
cd
CDTitel
Kreuzprodukt und Join
band
Bandname
Der Blinddarm
Doktoren
Bandname
Hell out of it
Devils
Devils
Pop
Mountains
Tears
Doktoren
Punk
Tears
Gothic
When the devils ride Devils
1. Ergebnis:
Man erhält alle möglichen Kombinationen
der (ausgewählten)
Daten der beteiligten
Tabellen.
Stil
CDTitel
Stil
Der Blinddarm
Pop
Der Blinddarm
Punk
Der Blinddarm
Gothic
Hell out of it
Pop
Hell out of it
Punk
Hell out of it
Gothic
Mountains
Pop
…
…
Kreuzprodukt und Join
cd
SELECT CDTitel, Stil
FROM cd, band;
CDTitel
Der Blinddarm
Hell out of it
Mountains
When the devils ride
SELECT CDTitel, Stil
Das Kreuzprodukt
FROM
cd, band
zweier Tabellen
ist
WHERE
cd.Bandname
Kombination ;
= die
band.Bandname
aller Datensätze der
einen Tabelle mit
allen Datensätzen
der anderen
Tabelle.
Bandname
Doktoren
Devils
Tears
Devils
x
band
Bandname
Stil
Devils
Pop
Doktoren
Punk
Tears
Gothic
CDTitel
cd.Bandname
band.Bandname
Stil
Der Blindarm
Doktoren
Devils
Pop
Der Blindarm
Doktoren
Doktoren
Punk
Der Blindarm
Doktoren
Tears
Gothic
Hell out of it
Devils
Devils
Pop
Hell out of it
Devils
Doktoren
Punk
Hell out of it
Devils
Tears
Gothic
Mountains
Tears
Devils
Pop
Mountains
Tears
Doktoren
Punk
Mountains
Tears
Tears
Gothic
When the devils ride
Devils
Devils
Pop
When the devils ride
Devils
Doktoren
Punk
When the devils ride
Devils
Tears
Gothic
cd
CDTitel
Kreuzprodukt und Join
band
Bandname
Der Blinddarm
Doktoren
Bandname
Hell out of it
Devils
Devils
Pop
Mountains
Tears
Doktoren
Punk
Tears
Gothic
When the devils ride Devils
Stil
Die Tabellen müssen genannt
2. Lösungsversuch:
werden, weil Bandname in
SELECT CDTitel, Stil beiden Tabellen vorkommt.
FROM cd, band
WHERE cd.Bandname = band.Bandname;
cd
CDTitel
Kreuzprodukt und Join
band
Bandname
Der Blinddarm
Doktoren
Bandname
Hell out of it
Devils
Devils
Pop
Mountains
Tears
Doktoren
Punk
Tears
Gothic
When the devils ride Devils
2. Ergebnis:
Mit Hilfe der Joinbedingung
cd.Bandname = band.Bandname
erhält man das gewünschte
Ergebnis.
Stil
CDTitel
Stil
Der Blinddarm
Punk
Hell out of it
Pop
Mountains
Gothic
When the devils ride Pop