DarkSQL by Darkleo.com

DarkSQL

SELECT Anweisungen 2

Beziehungen

Aufgabe 1
Zeigen Sie für beide Ampeln (1 und 2) die Ampelphasen um 12:00 Uhr mittags an. Geben Sie dazu für den um 10:00 Uhr gültigen Zeitraum den Beginn, das Ende, die Bezeichnung der Ampel und die Dauer der Ampelphasen (Rot, Gelb, Grün) aus.

SELECT
ampel.ampelbez,
ampelzeitphase.beginn,
ampelzeitphase.ende,
ampelphasen.rotdauer,
ampelphasen.gruendauer,
ampelphasen.gelbdauer
FROM
ampel, ampelzeitphase, ampelphasen
WHERE
ampel.ampelID=ampelzeitphase.ampelID AND
ampelzeitphase.phasenID=ampelphasen.phasenID AND
ampelzeitphase.beginn =12*3600;

Aufgabe 2
Erstellen Sie eine SQL-Anweisung, die die Anzahl der Ampelphasen ausgibt mit der Überschrieft "Anzahlphasen".

SELECT COUNT(*) AS AnzahlPhasen
FROM ampelphasen;

Aufgabe 3
Wählen Sie die Ampelphasen aus , in der die längste Grünphase eingestellt ist. Die Ergebnistabelle enthält folgende Felder: PhasenID, Gründauer und Rotdauer.

SELECT phasenID, gruendauer, rotdauer
FROM ampelphasen
WHERE 
gruendauer=(SELECT MAX(gruendauer)
FROM ampelphasen);

Aufgabe 4
Wähle Sie alle Ampelphasen aus, in der die Rotphase kleiner ist als die Grünphase. Zeigen Sie die Dauer der Rotphase und der Grünphase an.

SELECT
ampelphasen.rotdauer, ampelphasen.gruendauer
FROM
ampelzeitphase, ampelphasen
WHERE
ampelzeitphase.phasenID=ampelphasen.phasenID AND
ampelphasen.rotdauer<ampelphasen.gruendauer;

Aufgabe 5
Geben Sie für die Ampel 1(Hauptstrasse) alle festgelegten Ampelphasen (Rot, Gelb, Grün) und die dazugehörigen Zeiträume (Beginn und Ende) in Stunden an. Die Ergebnistabelle enthält die Ampelbezeichnung, Beginn (Stu), Ende (Stu) und die Dauer der Ampelphasen.

SELECT
ampel.ampelbez,
ampelzeitphase.beginn/3600 AS [Beginn in Stu], ampelzeitphase.ende/3600 AS [Ende in Stu], ampelphasen.rotdauer,
ampelphasen.gruendauer,
ampelphasen.gelbdauer
FROM
ampel, ampelzeitphase, ampelphasen 
WHERE
ampel.ampelID=ampelzeitphase.ampelID AND  ampelzeitphase.phasenID= ampelphasen.phasenID AND 
ampel.ampelbez = 'Ampel 1';