57 lines
2.2 KiB
Plaintext
57 lines
2.2 KiB
Plaintext
-- ----------------------------------------------------------------------------
|
|
-- DB: Bewertetes Praktikum 3
|
|
--
|
|
--
|
|
-- Name 1: Navid Sassan
|
|
--
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 1
|
|
-- ----------------------------------------------------------------------------
|
|
CREATE TABLE `Teilnehmer` (
|
|
SNr INTEGER NOT NULL,
|
|
MNr INTEGER NOT NULL,
|
|
IstLeiter VARCHAR(4) NOT NULL,
|
|
CONSTRAINT FK_Teilnehmer_MNr FOREIGN KEY (MNr)
|
|
REFERENCES Mitarbeiter(MNr),
|
|
CONSTRAINT FK_Teilnehmer_SNr FOREIGN KEY (SNr)
|
|
REFERENCES Sitzung(SNr)
|
|
);
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 2
|
|
-- ----------------------------------------------------------------------------
|
|
SELECT * FROM `Sitzung` ORDER BY `Datum` DESC LIMIT 1;
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 3
|
|
-- ----------------------------------------------------------------------------
|
|
SELECT SNr FROM zhaw.Sitzung AS x WHERE NOT EXISTS (SELECT 1 FROM Teilnehmer AS y WHERE x.SNr = y.SNr) AND EXISTS (SELECT 1 FROM Sitzungsort AS z WHERE x.SNr = z.SNr);
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 4
|
|
-- ----------------------------------------------------------------------------
|
|
SELECT DISTINCT `Bezeichnung` FROM `Sitzung` NATURAL JOIN Sitzungsort WHERE ZNr=19 AND EXISTS (SELECT 1 FROM Teilnehmer NATURAL JOIN Mitarbeiter WHERE HausNR != (SELECT HausNR FROM Sitzungszimmer where ZNr=19));
|
|
|
|
-- Hier wird DISTINCT benötgt, da mehrere Sitzungen die gleiche Bezeichnung haben können, das Wort "verschieden" in der Aufgabenstellung aber bedeutet, dass keine Duplikate angezeigt werden sollen.
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 5
|
|
-- ----------------------------------------------------------------------------
|
|
SELECT Bezeichnung,AVG(ZeitBis - ZeitVon) FROM Sitzung WHERE YEAR(Datum) = 2020 GROUP BY Bezeichnung;
|
|
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Aufgabe 6
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|