Non come risolvere questo problema anche se qualcosa mi dice che la soluzione è semplice:
Database SQL7
due tabelle
tabella1: "soggetto" con campi matricola, cognome, nome
tabella2: "libretto" con campi id_corso, matricola, data_iscrizione

NB: possono esistere piu' id_corso per lo stesso soggetto,
la relazione sta nel numero di matricola

devo eseguire : delete * from libretto where data_iscrizione < 31/12/2000
fin qui nessun problema

ma devo pero' sfoltire anche la tabella soggetto di tutti i record
che contengono un campo matricola che, una volta ripulita, non compaia piu' nella tabella libretto.

Tento un esempio nella speranza di essere piu' chiara

tabella libretto
id_corso | matricola | data_iscrizione
1 | 0001 | 01/01/1999
2 | 0002 | 01/01/1999
3 | 0003 | 01/01/1999
4 | 0001 | 01/01/2002
5 | 0001 | 01/01/2003
6 | 0001 | 01/01/2004
7 | 0002 | 01/01/2005
8 | 0004 | 01/01/2005
9 | 0005 | 01/01/2005
10 | 0005 | 01/01/2005


tabella soggetto
matricola | cognome | nome
0001 | rossi1 | mario1
0002 | rossi2 | mario2
0003 | rossi3 | mario3
0004 | rossi4 | mario4
0005 | rossi5 | mario5

dopo il delete * from libretto where data_iscrizione < 31/12/2000
la tabella libretto avrà solo i seguenti record

id_corso | matricola | data_iscrizione
4 | 0001 | 01/01/2002
5 | 0001 | 01/01/2003
6 | 0001 | 01/01/2004
7 | 0002 | 01/01/2005
8 | 0004 | 01/01/2005
9 | 0005 | 01/01/2005
10 | 0005 | 01/01/2005

a questo punto io dovrei dare una istruzione (e qui mi si bloccano le meningi ) che immagino comprenda "not exist"
che darà come risultato nela tabella soggetto:

tabella soggetto
matricola | cognome | nome
0001 | rossi1 | mario1
0002 | rossi2 | mario2
0004 | rossi4 | mario4
0005 | rossi5 | mario5

da cui dovrebbe sparire solo rossi3 e quindi la matricola 3
che è l'unica a non avere iscrizioni posteriori allo 01/01/2001

qualcuno mi aiuta ?
ma vi prego abbiate pietà se la domanda è troppo sciocca.
Grazie a chi vorrà rispondermi