Exists
Fermé
Nouyou
Messages postés
41
Date d'inscription
lundi 1 décembre 2014
Statut
Membre
Dernière intervention
16 mars 2016
-
2 janv. 2015 à 23:17
Nouyou Messages postés 41 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 16 mars 2016 - 5 janv. 2015 à 01:32
Nouyou Messages postés 41 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 16 mars 2016 - 5 janv. 2015 à 01:32
2 réponses
Utilisateur anonyme
3 janv. 2015 à 09:07
3 janv. 2015 à 09:07
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.
Nouyou
Messages postés
41
Date d'inscription
lundi 1 décembre 2014
Statut
Membre
Dernière intervention
16 mars 2016
5 janv. 2015 à 01:32
5 janv. 2015 à 01:32
Ouii vous avez raison , Merci beaucoup
:)
:)