-- 1 SELECT * FROM projekt, abteilung; explizit? -- 2 SELECT abt_name FROM abteilung, mitarbeiter WHERE abteilung.abt_nr = mitarbeiter.abt_nr AND (mitarbeiter.m_name='Kaufmann' OR mitarbeiter.m_name='Meier'); SELECT abt_name FROM abteilung INNER JOIN mitarbeiter ON abteilung.abt_nr = mitarbeiter.abt_nr WHERE mitarbeiter.m_name='Kaufmann' OR mitarbeiter.m_name='Meier'; -- 3 SELECT aufgabe FROM arbeiten, projekt WHERE arbeiten.pr_nr = projekt.pr_nr AND projekt.pr_name = 'Merkur' SELECT aufgabe FROM arbeiten INNER JOIN projekt ON arbeiten.pr_nr = projekt.pr_nr WHERE projekt.pr_name = 'Merkur'; -- 4 SELECT einst_dat FROM arbeiten, mitarbeiter, abteilung WHERE arbeiten.m_nr = mitarbeiter.m_nr AND mitarbeiter.abt_nr = abteilung.abt_nr AND (abteilung.abt_nr = 'a1' OR abteilung.abt_nr = 'a2'); SELECT einst_dat FROM arbeiten INNER JOIN mitarbeiter ON arbeiten.m_nr = mitarbeiter.m_nr INNER JOIN abteilung ON mitarbeiter.abt_nr = abteilung.abt_nr WHERE abteilung.abt_nr = 'a1' OR abteilung.abt_nr = 'a2'; -- 5 SELECT aufgabe FROM arbeiten, mitarbeiter, abteilung WHERE arbeiten.m_nr = mitarbeiter.m_nr AND mitarbeiter.abt_nr = abteilung.abt_nr AND abteilung.stadt = 'München'; SELECT aufgabe FROM arbeiten INNER JOIN mitarbeiter ON arbeiten.m_nr = mitarbeiter.m_nr INNER JOIN abteilung ON mitarbeiter.abt_nr = abteilung.abt_nr WHERE abteilung.stadt = 'München'; -- 6 SELECT mitarbeiter.m_nr, mitarbeiter.m_name, mitarbeiter.m_vorname FROM mitarbeiter, arbeiten WHERE mitarbeiter.m_nr = arbeiten.m_nr AND pr_nr = 'p3'; SELECT mitarbeiter.m_nr, mitarbeiter.m_name, mitarbeiter.m_vorname FROM mitarbeiter INNER JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr WHERE pr_nr = 'p3'; -- 7 SELECT abteilung.abt_name FROM abteilung, mitarbeiter, arbeiten WHERE abteilung.abt_nr = mitarbeiter.abt_nr AND mitarbeiter.m_nr = arbeiten.m_nr AND arbeiten.pr_nr = 'p3' SELECT abteilung.abt_name FROM abteilung INNER JOIN mitarbeiter ON abteilung.abt_nr = mitarbeiter.abt_nr INNER JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr WHERE arbeiten.pr_nr = 'p3' -- 8 SELECT a.m_nr FROM arbeiten a, arbeiten b WHERE a.m_nr = b.m_nr AND a.einst_dat = b.einst_dat SELECT a.m_nr FROM arbeiten a INNER JOIN arbeiten b ON a.m_nr = b.m_nr WHERE a.einst_dat = b.einst_dat -- 9 komisch. zeigt auch ungleiche mittel... SELECT a.pr_name, a.Mittel FROM projekt a INNER JOIN projekt b ON a.pr_nr = b.pr_nr WHERE a.mittel = b.mittel -- 10 SELECT mit_erweitert.*, abteilung.* FROM mit_erweitert LEFT OUTER JOIN abteilung ON mit_erweitert.abt_nr = abteilung.abt_nr WHERE mit_erweitert.wohnort = abteilung.stadt OR mit_erweitert.wohnort -- 11 SELECT m.*, a.* FROM abteilung AS a RIGHT OUTER JOIN mit_erweitert AS m ON m.wohnort = a.stadt -- MUSTERLÖSUNG - ÜBUNG 7 - SQL Server -- Aufgabe 1 SELECT * FROM projekt, abteilung SELECT * FROM projekt CROSS JOIN abteilung --Aufgabe 2 SELECT abt_name FROM abteilung, mitarbeiter WHERE abteilung.abt_nr = mitarbeiter.abt_nr AND m_name IN ('Kaufmann', 'Meier') SELECT abt_name FROM abteilung JOIN mitarbeiter ON abteilung.abt_nr = mitarbeiter.abt_nr WHERE m_name IN ('Kaufmann', 'Meier') -- Aufgabe 3 SELECT aufgabe FROM arbeiten, projekt WHERE arbeiten.pr_nr = projekt.pr_nr AND pr_name = 'Merkur' SELECT aufgabe FROM arbeiten JOIN projekt ON arbeiten.pr_nr = projekt.pr_nr WHERE pr_name = 'Merkur' -- Aufgabe 4 SELECT einst_dat FROM mitarbeiter, arbeiten WHERE mitarbeiter.m_nr = arbeiten.m_nr AND abt_nr IN ('a1', 'a2') SELECT einst_dat FROM mitarbeiter JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr WHERE abt_nr IN ('a1', 'a2') -- Aufgabe 5 SELECT aufgabe FROM mitarbeiter, abteilung, arbeiten WHERE mitarbeiter.m_nr = arbeiten.m_nr AND mitarbeiter.abt_nr = abteilung.abt_nr AND stadt = 'München' SELECT aufgabe FROM mitarbeiter JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr JOIN abteilung ON mitarbeiter.abt_nr = abteilung.abt_nr WHERE stadt = 'München' -- Aufgabe 6 SELECT mitarbeiter.m_nr, m_name, m_vorname FROM mitarbeiter, arbeiten, projekt WHERE mitarbeiter.m_nr = arbeiten.m_nr AND arbeiten.pr_nr = projekt.pr_nr AND pr_name = 'GEMINI' SELECT mitarbeiter.m_nr, m_name, m_vorname FROM mitarbeiter JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr JOIN projekt ON arbeiten.pr_nr = projekt.pr_nr WHERE pr_name = 'GEMINI' -- Aufgabe 7 SELECT abt_name FROM abteilung, mitarbeiter, arbeiten WHERE abteilung.abt_nr = mitarbeiter.abt_nr AND mitarbeiter.m_nr = arbeiten.m_nr AND pr_nr = 'p3' SELECT abt_name FROM abteilung JOIN mitarbeiter ON abteilung.abt_nr = mitarbeiter.abt_nr JOIN arbeiten ON mitarbeiter.m_nr = arbeiten.m_nr WHERE pr_nr = 'p3' --Aufgabe 8 SELECT DISTINCT a.m_nr FROM arbeiten a, arbeiten b WHERE a.einst_dat = b.einst_dat AND a.m_nr <> b.m_nr SELECT DISTINCT a.m_nr FROM arbeiten a JOIN arbeiten b ON a.einst_dat = b.einst_dat WHERE a.m_nr <> b.m_nr -- Aufgabe 9 SELECT DISTINCT a.pr_nr, a.mittel FROM projekt a, projekt b WHERE a.mittel = b.mittel AND a.pr_nr <> b.pr_nr SELECT DISTINCT a.pr_nr, a.mittel FROM projekt a JOIN projekt b ON a.mittel = b.mittel WHERE a.pr_nr <> b.pr_nr -- Aufgabe 10 SELECT mit_erweitert.*, abteilung.stadt FROM mit_erweitert LEFT OUTER JOIN abteilung ON wohnort = stadt -- Aufgabe 11 SELECT mit_erweitert.wohnort, abteilung.stadt FROM mit_erweitert RIGHT OUTER JOIN abteilung ON wohnort = stadt