CREATE TABLE Mitarbeiter (Personalnummer integer PRIMARY KEY, Vorname varchar(200), Nachname varchar(200), Gehalt integer);
CREATE TABLE Abteilung (Abteilungsnummer integer PRIMARY KEY, Name varchar(200));
CREATE TABLE arbeitet (wer integer, wo integer, Wochenstunden integer, FOREIGN KEY (wer) REFERENCES Mitarbeiter (Personalnummer), FOREIGN KEY (wo) REFERENCES Abteilung (Abteilungsnummer));

INSERT INTO Mitarbeiter (Personalnummer, Vorname, Nachname, Gehalt) VALUES (13, 'Alice', 'Amann', 2000);
INSERT INTO Mitarbeiter (Personalnummer, Vorname, Nachname, Gehalt) VALUES (37, 'Bob', 'Bernig', 800);
INSERT INTO Mitarbeiter (Personalnummer, Vorname, Nachname, Gehalt) VALUES (42, 'Claire', 'Clepto', 400);

INSERT INTO Abteilung (Abteilungsnummer, Name) VALUES (3, 'Wirtschaftsdelikte');
INSERT INTO Abteilung (Abteilungsnummer, Name) VALUES (5, 'Staatsschutz');
INSERT INTO Abteilung (Abteilungsnummer, Name) VALUES (8, 'Kriminaltechnik');

INSERT INTO arbeitet (wer, wo, Wochenstunden) VALUES (13, 5, 20);
INSERT INTO arbeitet (wer, wo, Wochenstunden) VALUES (13, 3, 10);
INSERT INTO arbeitet (wer, wo, Wochenstunden) VALUES (37, 8, 20);
INSERT INTO arbeitet (wer, wo, Wochenstunden) VALUES (42, 3, 10);

-- Name der Abteilung mit Nummer 3
SELECT Name from Abteilung WHERE Abteilungsnummer = 3;

-- Gehalt der Mitarbeiter mit dem Namen Claire Clepto
SELECT Gehalt from Mitarbeiter WHERE Vorname = 'Claire' AND Nachname = 'Clepto';

-- Vor- und Nachname aller Mitarbeiter der Abteilung 8
SELECT Vorname, Nachname FROM Mitarbeiter, arbeitet WHERE Mitarbeiter.Personalnummer = arbeitet.wer AND arbeitet.wo = 8;

-- Personalnummer und Gehalt aller Mitarbeiter, die mehr als 10 Stunden pro Woche in einer Abteilung arbeiten
SELECT Personalnummer, Gehalt FROM Mitarbeiter, arbeitet WHERE Mitarbeiter.Personalnummer = arbeitet.wer AND Wochenstunden > 10;

-- Nachnamen der Mitarbeiter aller Abteilungen mit dem/den Namen der Abteilung(en), für die sie arbeiten
SELECT Nachname, Name FROM Mitarbeiter, arbeitet, Abteilung WHERE Personalnummer = wer AND Abteilungsnummer = wo;

-- Alle Gehälter, die in der Abteilung mit dem Namen "Wirtschaftsdelikte" gezahlt werden
SELECT Gehalt FROM Mitarbeiter, arbeitet, Abteilung WHERE Personalnummer = wer AND Abteilungsnummer = wo AND Name = "Wirtschaftsdelikte";
