Schema relazionale
- Paternità(cognome_padre, nome_padre, cognome_figlio, nome_figlio)
- Maternità(cognome_madre, nome_madre, cognome_figlio, nome_figlio)
Query
- Tutte le coppie figlio-genitore
12345SELECT nome_figlio, cognome_figlio, nome_madre, cognome_madreFROM MaternitàUNIONSELECT nome_figlio, cognome_figlio, nome_padre, cognome_padreFROM Paternità - Le coppie figlio-genitore con etichette appropriate
123456SELECT nome_figlio AS Nome, cognome_figlio AS Cognome,nome_madre AS [Nome genitore], cognome_madre AS [Cognome genitore]FROM MaternitàUNIONSELECT nome_figlio, cognome_figlio, nome_padre, cognome_padreFROM Paternità - I figli (senza ripetizioni)
12345SELECT nome_figlio, cognome_figlioFROM MaternitàUNIONSELECT nome_figlio, cognome_figlioFROM Paternità - I cognomi di tutti, ordinat
123456789101112SELECT cognome_padre AS COGNOMEFROM PaternitàUNIONSELECT cognome_figlioFROM PaternitàUNIONSELECT cognome_madreFROM MaternitàUNIONSELECT cognome_figlioFROM MaternitàORDER BY COGNOME - I genitori con numero di figli
123456789SELECT cognome_madre AS [Cognome genitore], nome_madre AS [Nome genitore],Count(*) AS [Numero figli]FROM MaternitàGROUP BY cognome_madre, nome_madreUNIONSELECT cognome_padre, nome_padre,Count(*)FROM PaternitàGROUP BY cognome_padre, nome_padre - I genitori con numero di figli, ordinati per cognome e nome
12345678910SELECT cognome_madre AS [Cognome genitore], nome_madre AS [Nome genitore],Count(*) AS [Numero figli]FROM MaternitàGROUP BY cognome_madre, nome_madreUNIONSELECT cognome_padre, nome_padre,Count(*)FROM PaternitàGROUP BY cognome_padre, nome_padreORDER BY [Cognome genitore], [Nome genitore] - I genitori con almeno 2 figli
1234567891011SELECT cognome_madre AS [Cognome genitore], nome_madre AS [Nome genitore],Count(*) AS [Numero figli]FROM MaternitàGROUP BY cognome_madre, nome_madreHAVING Count(*) > 1UNIONSELECT cognome_padre, nome_padre,Count(*)FROM PaternitàGROUP BY cognome_padre, nome_padreHAVING Count(*) > 1 - I padri con più figli della signora xyz …
1234567SELECT cognome_padre, nome_padre,Count(*) AS [Numero figli]FROM PaternitàGROUP BY cognome_padre, nome_padreHAVING Count(*) > (SELECT Count(*)FROM MaternitàWHERE cognome_madre = [Cognome madre?] AND nome_madre = [Nome madre?]) - La nonna paterna di…
12345678SELECT cognome_madre AS [Cognome nonna paterna], nome_madre AS [Nome nonna paterna]FROM MaternitàWHERE cognome_figlio = (SELECT cognome_padreFROM PaternitàWHERE cognome_figlio = "Cognome" AND nome_figlio = "Nome") ANDnome_figlio = (SELECT nome_padreFROM PaternitàWHERE cognome_figlio = "Cognome" AND nome_figlio = "Nome")