Ausschluss von Tabellen im Select

OmasLiebling

Neuer Benutzer
Beiträge
3
Guten Abend!

Ich bearbeite momentan Aufgaben für das Studium und hänge bei einer Aufgabe fest. Wir haben eine Datenbank mit verschiedenen Tabellen und Werten.

Ich soll folgende Aufgabe lösen:
Wie lauten die Personalnummern solcher Mitarbeiter, die nicht Student sind?

Die Tabelle Mitarbeiter enthält folgende Daten für:
Pers_nr, Nr, FB_Nr, ....

Die Tabelle Student enhält Daten für:
Pers_Nr, Matr_nr, ....

Wie verknüpfe ich die Tabellen und schließe dabei die Pers_Nr der Studenten aus? Mein Ansatz war es, mit NOT IN zu arbeiten, aber ohne Erfolg.
 
Werbung:
Kann pers_nr NULL sein?

Dann entweder NULL Werte im Sub-Select ausschliessen:
Code:
select ...
from mitarbeiter
where pers_nr not in (select s.pers_nr
                      from student s
                      where s.pers_nr is not null)

oder mit NOT EXISTS arbeiten:
Code:
select ...
from mitarbeiter m
where not exists (select *
                  from student s
                  where s.pers_nr = m.pers_nr)
 
Werbung:
Kann pers_nr NULL sein?

Dann entweder NULL Werte im Sub-Select ausschliessen:
Code:
select ...
from mitarbeiter
where pers_nr not in (select s.pers_nr
                      from student s
                      where s.pers_nr is not null)

oder mit NOT EXISTS arbeiten:
Code:
select ...
from mitarbeiter m
where not exists (select *
                  from student s
                  where s.pers_nr = m.pers_nr)

Es gibt Werte bei Student.pers_nr, die den Wert NULL besitzen.
 
Zurück
Oben