TUT Aufgaben zu AT4 Flashcards

1
Q

a) Geben Sie alle Kunden aus.
b) Geben Sie alle Kunden aus, die aus Aachen kommen.

A

SELECT *

FROM Kunde;

SELECT *

FROM Kunde

WHERE Adresse = ‘Aachen‘;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

c) Welche Kunden haben keinen Vertrag mit einem Industrieberater?

▪ Geben Sie den Vornamen, Nachnamen und die E-Mail aus.

▪ Erstellen Sie zwei Lösungen, eine mit MINUS und eine mit EXISTS.

A

SELECT Vorname, Name, Email

FROM Kunde

MINUS

SELECT Vorname, Name, Email

FROM Kunde NATURAL JOIN Vertrag;

SELECT Vorname, Name, Email

FROM Kunde k1

WHERE NOT EXISTS (

SELECT *

FROM Kunde NATURAL JOIN Vertrag

WHERE k1.email = email);

Natural Join

verknüpft die beiden Tabellen über die gleichheit der Felder, in Spalten mit gleichem Namen. Spalten mit gleichem Namen werden im Ergebnis nur einmal angezeigt. Haben die Tabellen keine Spalten mit gleichem Namen, wird der Natural Join automatisch zum Cross Join.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

d) Welcher Kunde hat bei allen Industrieberatern einen Vertrag?

A

SELECT Vorname, Name, Email, COUNT(*)

FROM Kunde NATURAL JOIN Vertrag

GROUP BY Vorname, Name, Email

_HAVING COUNT(*) = (SELECT COUNT(*)_

FROM Industrieberater);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

e) Welche Kunden haben Verträge, die vor 2018 angefangen haben?

▪ Geben Sie den Vornamen, Nachnamen und das Startdatum aus.

A

SELECT Vorname, Name, Startdatum

FROM Kunde NATURAL JOIN Vertrag

WHERE Startdatum < TO_DATE(‘01.01.2018’, ‘DD.MM.RRRR’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

f) Geben Sie alle Berufsberater aus, welche auch Kunden sind.

A

SELECT *

FROM Berufsberater NATURAL JOIN Kunde;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

g) Geben Sie alle Berufsberater mit den Kunden aus, die sie betreuen.

▪ Sortiere absteigend nach der ID des Berufsberaters.

A

SELECT *

FROM Berufsberater

NATURAL JOIN Betreuung JOIN Kunde USING(Kunden_ID)

ORDER BY Berufsberater_ID DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

h) Geben Sie alle Kunden aus. Falls ein Kunde einen Vertrag hat, soll das Startdatum des Vertrags auch ausgegeben werden.

A

SELECT Vorname, Name, Email, Startdatum

FROM Kunde LEFT OUTER JOIN Vertrag USING (Kunden_ID);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly