« Programmation SQL/Exemples » : différence entre les versions

Contenu supprimé Contenu ajouté
Alq666 (discussion | contributions)
Alq666 (discussion | contributions)
Ligne 70 :
 
==== Exemples de requête ====
Nous avons besoin de données pour ces exemples.
 
insert into utilisateur (prenom, nom, email, creation) values ('Dupont', 'Dupond', 'dupont@dupond.fr', now());
insert into utilisateur (prenom, nom, email, creation) values ('Durant', 'Durand', 'durant@durand.fr', now());
insert into image (chemin, nom, creation) values ('/mes/images/', 'image1.jpg', now());
insert into image (chemin, nom, creation) values ('/mes/images/', 'image2.jpg', now());
insert into image (chemin, nom, creation) values ('/mes/images/', 'image3.jpg', now());
insert into image_utilisateur (image_sid, utilisateur_sid) values (1, 1);
insert into image_utilisateur (image_sid, utilisateur_sid) values (3, 1);
insert into image_utilisateur (image_sid, utilisateur_sid) values (3, 2);
insert into image_utilisateur (image_sid, utilisateur_sid) values (2, 2);
insert into mot_cle (nom, creation) values ('wiki', now());
insert into mot_cle (nom, creation) values ('populaire', now());
insert into image_mot_cle (image_sid, mot_cle_sid) values (3, 1);
 
Combien d'images appartiennent-elles à l'utilisateur dont l'email est "dupont@dupond.fr" ?
select count(*)
from utilisateur u
join image_utilisateur uiiu on (u.sid = uiiu.utilisateur_sid)
where u.email = 'dupont@dupond.fr';
 
Ligne 83 ⟶ 98 :
order by count(*) desc
limit 10;
 
Quel est l'utilisateur avec le plus d'images ?
select u.prenom, u.nom
from utilisateur u
join image_utilisateur iu on (u.sid = iu.utilisateur_sid)
group by u.prenom, u.nom
order by count(*) desc
limit 1;
 
Quelles sont les images qui n'appartiennent à personne ?