Requête SQL

bonjour,
j'ai un exercice avec des requêtes et et je dois donner leurs résultats, mais je ne voie pas à quoi cela correspond:

voici les tables, il y en a 3:


les Requête sont les suivantes

Requête 1
SELECT nom
FROM PERSONNE
WHERE num_p IN (SELECT pe.num_p
FROM PERSONNE pe, POSSEDE po
WHERE po.immat IS NULL
AND pe.num_p = po.num_p);

Requête 2
SELECT nom
FROM PERSONNE
WHERE num_p IN (SELECT num_p
FROM POSSEDE
GROUP BY num_p
HAVING COUNT (ordre) = 1);

Requête 3
SELECT immat
FROM VHEICULE
where immat IN (SELECT po.immat
FROM POSSEDE po
GROUP BY po.immat
HAVING COUNT (po.num_p) >1;

merci d'avance pour votre aide

1 réponse

  1. Bonjour amedbledar

    Je pense qu'il manque une colonne dans la "
    POSSEDE
    ".
    Dans votre cas, une personne ne pourra avoir qu'un seul véhicule si
    num_p 
    est pris comme clé primaire.

    Dans les requêtes 2 et 3 il y a un problème.
    Il y a un
    GROUP BY ...WHERE COUNT
    mais dans le
     SELECT 
    il n'y a pas de
    COUNT
    .
    Çà ne peut pas marcher.
    0
    1. Bonjour

      Dans votre cas, une personne ne pourra avoir qu'un seul véhicule si num_p est pris comme clé primaire. Mais personne n'a dit que num_p était une clé primaire de "possede". C'est toi qui imagines ça. Bien au contraire, les données montrent clairement que ce n'en est pas une.

      il y a un problème.
      Il y a un GROUP BY ...WHERE COUNT mais dans le SELECT il n'y a pas de COUNT

      Non, ce n'est pas un problème.
      0
    2. @Utilisateur anonymebonjour,

      num_p est bien une clé primaire dans POSSEDE c'est l'exercice qui est comme ça. ce n'est pas moi qui est fait les table elle m'ont étaient donner comme ça. et le but est de donner le résultat des requêtes

      voici le schéma de la base
      VEHICULE (immat, type, couleur)
      PERSONNE (num_p, nom, prenom)
      POSSEDE (num_p, immat, ordre)
      0
    3. @amedbledarnum_p est bien une clé primaire dans POSSEDE
      Non. Une clé primaire est unique. Et dans les données, la valeur 1 apparaît plusieurs fois.
      Il est raisonnable de penser que le couple (num_p,ordre) constitue une clé primaire composite de POSSEDE, mais le champ num_p seul certainement pas.
      0
    4. ok merci
      donc le schéma est faux ??
      0
    5. As-tu eu un cours sur les bases de données ? Que dit-il sur les clés primaires ?
      0