(c) Instytut Informatyki Politechniki Poznańskiej
17
Poszczególnym podzapytaniom można nadawać nazwy w celu uproszczenia składni zapytania. Służy do tego klauzula WITH
WITH prac_zesp AS
( SELECT nazwa, nazwisko, etat, placa_pod
  FROM pracownicy JOIN zespoly USING (id_zesp) )
SELECT * FROM prac_zesp
WHERE placa_pod > 1200;
WITH profesorowie AS
  (SELECT * FROM pracownicy WHERE etat = 'PROFESOR' ),
asystenci AS
  (SELECT * FROM pracownicy WHERE etat = 'ASYSTENT' )
SELECT * FROM profesorowie pr
WHERE EXISTS
(SELECT * FROM asystenci
  WHERE id_szefa = pr.id_prac);
Klauzula WITH