Aufgabe 4.3

../../../_images/herkulessaeulen.jpg

« Fragen-Übersicht zum SQL-Coach

Geben Sie alle Mitarbeiter mit gleichen Namen aus! Verwenden Sie dazu: EXISTS. Die Sortierung soll nach der persnr erfolgen.

Die Struktur der Datenbank

ABTEILUNG    ( ABTNR , ABTNAME , BUDGET , CHEFNR )                     CHEFNR » PERSONAL.PERSNR
AKTE         ( PERSNR , DATUM , POSITION , GEHALT )                    PERSNR » PERSONAL.PERSNR
PERSONAL     ( PERSNR , VNAME , NNAME , PROJNR , TELEFONNR , GEHALT )  PROJNR » PROJEKT.PROJNR
PROJEKT      ( PROJNR , BUDGET , ABTNR )                               ABTNR » ABTEILUNG.ABTNR

Antwort?

???

Das gesuchte Ergebnis:

 persnr |   nname   | vname
--------+-----------+-------
     21 | Trophobie | Klaus
     90 | Trophobie | Klaus

(2 rows)

-Geben Sie alle Mitarbeiter mit gleichen Namen aus! –Verwenden Sie dazu: EXISTS. Die Sortierung soll nach der persnr erfolgen.

–MIT IN: select persnr, nname,vname from personal where nname in (select nname from personal group by vname,nname having count(nname)>1) order by persnr;

–MIT EXISTS: select a.persnr, a.nname,a.vname from personal a where exists (select b.nname from personal b where a.nname=b.nname and a.vname=b.vname and a.persnr<>b.persnr) order by persnr;

–MIT SELF JOIN

select a.persnr, a.nname,a.vname from personal a join personal b on a.nname=b.nname and a.vname=b.vname and a.persnr<>b.persnr order by persnr;