-- ============================================================================
-- Prima esercitazione di laboratorio su SQL
-- Soluzione dell'esercizio 5
-- ============================================================================




SELECT Genitore, Reddito
FROM PERSONE, GENITORI 
WHERE Figlio='Ezechiele' AND
      Genitore=Nome; 

-- 2) Trovare i Nonni di Ezechiele

SELECT N.Genitore AS Nonno_Di_Ezechiele
FROM GENITORI P, GENITORI N
WHERE P.Figlio='Ezechiele' and N.Figlio=P.Genitore;


-- 3) Trovare i figli (in comune) di Franco e Maria 

SELECT GP.figlio 
FROM GENITORI GP, GENITORI GM
WHERE GP.Figlio=GM.Figlio AND
      GP.Genitore='Franco' AND 
      GM.Genitore='Maria';

-- 4)Trovare i Nonni di Aldo e di Andrea

SELECT DISTINCT N.Genitore AS Nonno
FROM GENITORI P, GENITORI N
WHERE (P.Figlio='Aldo' or P.Figlio='Andrea') and N.Figlio=P.Genitore;


-- 5) Trovare la relazione che mostra le coppie di fratelli (due persone sono fratelli se hanno un genitore in comune)

SELECT distinct G1.Figlio AS Nome, G2.Figlio AS Nome
FROM GENITORI G1, GENITORI G2
WHERE G1.Genitore=G2.Genitore and G1.Figlio>G2.Figlio;

-- 6) Trovare i fratelli di Maria

SELECT distinct G2.Figlio AS Fratello_di_Maria
FROM GENITORI G1, GENITORI G2
WHERE G1.Genitore=G2.Genitore and G1.Figlio='Maria' and G1.Figlio<>G2.Figlio;

-- 7) Trovare la relazione che mostra le coppie fratello-sorella

SELECT distinct G1.Figlio AS Fratello, G2.Figlio AS Sorella
FROM GENITORI G1, GENITORI G2, PERSONE F, PERSONE S
WHERE G1.Genitore=G2.Genitore and G1.Figlio=F.nome and F.sesso='M' and 
G2.Figlio=S.nome and S.sesso='F';
