Queries database anagrafe:
1) Estrarre tutti i matrimoni del 2016
SELECT *
FROM MATRIMONIO
WHERE DATA>=‘1/1/2016’ AND DATA<=‘31/12/2016’
2) Estrarre i dati dei genitori delle persone che si sono sposate nel
2016
SELECT CFMADRE, CFPADRE
FROM PERSONA, TESTIMONI, MATRIMONIO
WHERE TESTIMONI.CODICEMATR=MATRIMONIO.CODICE
AND
TESTIMONI.CFTESTIMONE=PERSONA.CODFIS
AND
(MATRIMONIO.DATA>=’1/1/2016’ AND
MATRIMONIO.DATA<=’31/12/2016’)
3) Coppie di persone sposatesi dopo la nascita di più di 3 [loro] figli
SELECT CFMOGLIE, CFMARITO
FROM MATRIMONIO
WHERE (SELECT count(*)
FROM PERSONA
WHERE PERSONA.CFMADRE=MATRIMONIO.CFMOGLIE
AND
P.CFPADRE=MATRIMONIO.CFMARITO AND
PERSONA.DATANASCITA<MATRIMONIO.DATA)>3
4) Matrimoni in cui entrambi i coniugi erano precedentemente
sposati
SELECT *
FROM MATRIMONIO
WHERE CFMOGLIE IN (SELECT CFMOGLIE
FROM MATRIMONIO
WHERE
MATRIMONIO.CFMOGLIE=MATRIMONIO.CFMOGLIE
AND MATRIMONIO.DATA<MATRIMONIO.DATA)
AND CFMARITO IN (SELECT CFMARITO
FROM MATRIMONIO
WHERE
MATRIMONIO.CFMARITO=MATRIMONIO
.CFMARITO
AND MATRIMONIO.Data)
5) Estrarre le persone sposate, figlie di persone non sposate [tra loro]
SELECT *
FROM PERSONA , MATRIMONIO
WHERE (PERSONA.CODFIS=MATRIMONIO.CFMOGLIE OR
PERSONA.CODFIS=M.CFMARITO)
AND (SELECT COUNT(*)
FROM MATRIMONIO
WHERE MATRIMONIO.CFMOGLIE=PERSONA.CFMADRE
AND
MATRIMONIO.CFMARITO=PERSONA.CFPADRE)=0
6) Estrarre i nomi delle coppie di individui sposa4 che risultano
entrambi figli di genitori sposati tra loro
SELECT PERSONA.NOME, PERSONA.NOME
FROM MATRIMONIO, PERSONA
WHERE MATRIMONIO.CFMOGLIE=PERSONA.CODFIS AND
MATRIMONIO.CFMARITO=PERSONA.CODFIS AND
CFMOGLIE IN (SELECT CODFIS
FROM PERSONA,MATRIMONIO
WHERE
MATRIMONIO.CFMOGLIE=PERSONA.CFMADRE AND
MATRIMONIO.CFMARITO=P.CFPADRE) AND
CFMARITO IN (SELECT CODFIS FROM
PERSONA ,MARTRIMONIO WHERE
MATRIMONIO.CFMOGLIE=PERSONA.CFMADRE AND
MATRIMONIO.CFMARITO=PERSONA.CFPADRE)