FROM zespoly RIGHT OUTER JOIN pracownicy ON zespoly.id_zesp = pracownicy.id_zesp ORDER BY nazwisko; 2 SELECT nazwa, zespoly.id_zesp, CASE WHEN nazwisko IS NOT NULL THEN nazwisko ELSE 'brak pracowników' end AS pracownik FROM zespoly LEFT OUTER JOIN pracownicy ON zespoly.id_zesp = pracownicy.id_zesp ORDER BY nazwa, nazwisko; 3 SELECT CASE WHEN nazwa IS NOT NULL THEN nazwa ELSE 'brak zespołu' end AS zespol, CASE WHEN nazwisko IS NOT NULL THEN nazwisko ELSE 'brak pracowników' end AS pracownik FROM zespoly FULL OUTER JOIN pracownicy ON zespoly.id_zesp = pracownicy.id_zesp ORDER BY nazwa, nazwisko; 4 SELECT nazwa, count(id_prac) AS liczba, sum(placa_pod) AS suma_plac FROM zespoly LEFT OUTER JOIN pracownicy ON zespoly.id_zesp = pracownicy.id_zesp GROUP BY nazwa ORDER BY nazwa; 5 SELECT nazwa FROM zespoly LEFT OUTER JOIN pracownicy ON zespoly.id_zesp = pracownicy.id_zesp HAVING count(id_prac) = 0 GROUP BY nazwa ORDER BY nazwa; 6 SELECT p.nazwisko AS pracownik, p.id_prac, s.nazwisko AS szef, p.id_szefa AS id_szefa FROM pracownicy p LEFT OUTER JOIN pracownicy s ON p.id_szefa = s.id_prac ORDER BY p.nazwisko; 7 SELECT s.nazwisko, count(p.id_prac) FROM pracownicy p RIGHT OUTER JOIN pracownicy s ON p.id_szefa = s.id_prac GROUP BY s.nazwisko ORDER BY s.nazwisko; 8 SELECT p.nazwisko, p.etat, p.placa_pod, z.nazwa, s.nazwisko AS szef FROM pracownicy p LEFT OUTER JOIN pracownicy s ON p.id_szefa = s.id_prac LEFT OUTER JOIN zespoly z ON p.id_zesp = z.id_zesp ORDER BY p.nazwisko; 9 SELECT nazwisko, nazwa FROM pracownicy, zespoly ORDER BY nazwisko, nazwa; 10 SELECT count(*) FROM pracownicy, zespoly, etaty; 11 SELECT etat FROM pracownicy WHERE EXTRACT(YEAR FROM zatrudniony) = '1992' INTERSECT SELECT etat FROM pracownicy WHERE EXTRACT(YEAR FROM zatrudniony) = '1993' ORDER BY etat; 12 SELECT id_zesp FROM zespoly MINUS SELECT id_zesp FROM pracownicy ORDER BY id_zesp; 13 SELECT id_zesp, zespoly.nazwa FROM zespoly MINUS SELECT pracownicy.id_zesp, zespoly.nazwa FROM pracownicy, zespoly ORDER BY id_zesp; 14 SELECT nazwisko, placa_pod, 'Poniżej 480 złotych' FROM pracownicy WHERE placa_pod < 480 UNION SELECT nazwisko, placa_pod, 'Dokładnie 480 złotych' FROM pracownicy WHERE placa_pod = 480 UNION SELECT nazwisko, placa_pod, 'Powyżej 480 złotych' FROM pracownicy WHERE placa_pod > 480 ORDER BY placa_pod;