1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Ausschluss von Tabellen im Select

Dieses Thema im Forum "Oracle" wurde erstellt von OmasLiebling, 26 November 2019.

  1. OmasLiebling

    OmasLiebling Neuer Benutzer

    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.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    select ... from mitarbeiter where pers_nr not in (select pers_nr from student)
     
  3. OmasLiebling

    OmasLiebling Neuer Benutzer

    Danke für die schnelle Antwort! Ich habe beim ersten select pers_nr eingesetzt, allerdings zeigt er mir keine Werte an.
     
  4. castorp

    castorp Datenbank-Guru

    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)
     
  5. OmasLiebling

    OmasLiebling Neuer Benutzer

    Es gibt Werte bei Student.pers_nr, die den Wert NULL besitzen.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden