A voir également:
- Error 6005 account exists orca
- User account control - Guide
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Whea error occt - Forum Processeur
2 réponses
Bonjour
Commençons par la sous-requête la plus interne :
Cette requête sort les lignes où t.Personne a emprunté le livre u.Livre
Jusque là, ça va ?
Donc il n'y a pas de ligne si t.Personne N'A PAS emprunté le livre u.Livre
donc
sélectionne les livres que t.Personne n'A PAS empruntés
Il n'y aura pas de ligne si t.Personne a emprunté TOUS les livres
donc
sélectionne les lignes où t.Personne a emprunté tous les livres
Faut avouer que c'est bien tordu comme manière de raisonner.
Commençons par la sous-requête la plus interne :
SELECT * FROM Emprunt v WHERE v.Personne=t.Personne AND v.Livre=u.Livre
Cette requête sort les lignes où t.Personne a emprunté le livre u.Livre
Jusque là, ça va ?
Donc il n'y a pas de ligne si t.Personne N'A PAS emprunté le livre u.Livre
donc
SELECT * FROM Emprunt u WHERE NOT EXISTS ( SELECT * FROM Emprunt v WHERE v.Personne=t.Personne AND v.Livre=u.Livre )
sélectionne les livres que t.Personne n'A PAS empruntés
Il n'y aura pas de ligne si t.Personne a emprunté TOUS les livres
donc
WHERE NOT EXISTS SELECT * FROM Emprunt u ...
sélectionne les lignes où t.Personne a emprunté tous les livres
Faut avouer que c'est bien tordu comme manière de raisonner.