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

Contenu supprimé Contenu ajouté
Alq666 (discussion | contributions)
Alq666 (discussion | contributions)
Ligne 62 :
 
Quelles sont les 10 images les plus partagées ?
select i.chemin, i.nom, count(*) as partage
from image i
join image_utilisateur ui on (i.sid = ui.image_sid)
group by i.chemin, i.nomenom
order by count(*) desc
limit 10;
 
Quelles sont les images qui n'appartiennent à personne ?
select i.chemin, i.nom
from image i
left outer join image_utilisateur uiiu on (i.sid = uiiu.image_sid)
where uiiu.utilisateur_sid is null;
 
Ajoutons le mot-clé "wiki" à toutes les images de "dupont@dupond.fr".
insert into mot_cleimage_mot_cle (image_sid, mot_cle_sid)
select mcx.sid, i.sid
from mot_cleutilisateur mcu,
join image_mot_cleimage_utilisateur imciu on (mcu.sid = imciu.mot_cle_sidutilisateur_sid)
join image_utilisateurimage_mot_cle iuimc on (imciu.image_sid = iuimc.image_sid)
join utilisateurmot_cle umc on (iuimc.utilisateur_sidmot_cle_sid = umc.sid),
mot_cle x
where mc.nom = 'wiki'
andwhere u.email = 'dupont@dupond.fr';
where and mc.nom =<> 'wiki'
and x.nom = 'wiki'
group by i.sid;