Problem z zadaniem z SQL

0

Cześć, siedzę już któryś dzień i próbuję rozwiązać zadanie z baz danych:
'Wypisz osoby mające szefa w innym zespole lub nie mające szefa lub nie będące w zespole lub z szefem nie należącym do żadnego zespołu.'

Prosiłbym o jakieś wskazówki, z jakiego połączenia powinienem skorzystać lub część rozwiązania.

http://wazniak.mimuw.edu.pl/images/4/48/Pracownicy.sql - link do skryptu sql tworzącego bazę, na której pracuję

pzdr

0

Co kolego już napisałeś lub zrobiłeś?
Pokaż zapytania, które Ci nie działają i napisz na czym polegają problemy?
Na jakiej bazie pracujesz?

1
Kyub napisał(a):

Prosiłbym o jakieś wskazówki, z jakiego połączenia powinienem skorzystać lub część rozwiązania.

są dwa rodzaje złączeń: wewnętrzne, które zwracają tylko te rekordy, dla których istnieje rekord w drugiej tabeli i zewnętrzne, które zwracają całą tabelę, wstawiając NULL w rekordach, które nie mają odpowiednika w drugiej
tutaj masz na obrazkach:
https://www.w3schools.com/sql/sql_join_inner.asp
https://www.w3schools.com/sql/sql_join_left.asp

osoby mające szefa w innym zespole lub z szefem nie należącym do żadnego zespołu:

select pracownicy.nazwisko as "nazwisko prac.", pracownicy.id_zesp as "zesp. prac.", szefowie.nazwisko as "nazwisko szefa", szefowie.id_zesp as "zesp. szefa" 
  from pracownicy left join pracownicy as szefowie on pracownicy.id_szefa = szefowie.id_prac 
  where pracownicy.id_zesp != szefowie.id_zesp or szefowie.id_zesp is null;

1 użytkowników online, w tym zalogowanych: 0, gości: 1