CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SQL] Exercice

Crevost
Crevost
Niveau 4
27 avril 2010 à 18:07:37

Voilà j'ai un petit devoir a faire mais y a quelques requêtes ou je n'y arrive pas, je crois que j'ai pas encore trés bien compris le fonctionnement SQL, parce que pourtant elles ont pas l'air si dur que ça :( :
Voici le MLD :

CLIENT (NumCL, NomCl, AdrCL, CodePostalCL, VilleCL)
COMMERCIAL (NumCo, NomCo, DateEmbauche)
RESIDENCE (NumR, DateConstruction, AdrR, CodePostalR, VilleR)
LOGEMENT (NumR#, NumL, NumEtage, NbrPieces, Superficie)
TRANSACTION (NumT, DateD, DateF, Etat, NumCl#, NumCo#, NumR#, NumL#, NumP)

Et les requetes :

1- Donnez la résidence qui contient autant de logement que la résidence 4

2- Les commerciaux sont en concurrence. Pour chaque résidence commercialisée, celui qui vend le plus d'appartements gagne une prime. Pour mettre à jour l'affichage du tableau d'honneur de la société, vous devez donnez le nopbre maximal d'appartements vendus par un commercial au sein d'une même résidence, toutes résidences confondues (il faudra sans doute deux requêtes)

3- Donnez les logements (numéro de résidence et de logement) qui ont été successivement réservés trois fois, dont les réservations ont toutes été annulées et qui sont toujours en vente.

4- Donnez la liste des clients pour lesquels plus aucune réservation ne sera prise. Ce sont ceux ayant effectué au moin cinq réservation (en cours ou annulées) n'ayant pas abouti à un achat

5- Donnez, pour chaque résidence le nombre de clients possédant plusieurs appartements.

6- donnez la superficie moyenne de tous les appartements en ne prenant en compte que les résidence de plus de deux étages

7- Donnez les résidences ayant autant d'appartements que l'une des résidences construites en 2007.

Crevost
Crevost
Niveau 4
27 avril 2010 à 18:09:14

J'aurai aimer avoir quelques explications sur les differentes requetes a faire si possible car je suis un peu perdu la..

sd460
sd460
Niveau 10
27 avril 2010 à 18:40:55

1. Avec requête imbriquée :

SELECT A.numr
FROM RESIDENCE A, LOGEMENT B
WHERE COUNT(B.numl) =
(
SELECT COUNT(C.numl)
FROM LOGEMENT C
WHERE C.numr = 4

)

Des questions ?
AND B.numr = A.numr

sd460
sd460
Niveau 10
27 avril 2010 à 18:41:53

1. :doute: C'est mieux comme ca !

Avec requête imbriquée :

SELECT A.numr
FROM RESIDENCE A, LOGEMENT B
WHERE COUNT(B.numl) =
(
SELECT COUNT(C.numl)
FROM LOGEMENT C
WHERE C.numr = 4

)
AND B.numr = A.numr

Des questions ?

Crevost
Crevost
Niveau 4
27 avril 2010 à 21:02:48

Hm on peut donc mettre des fonctions d'agrégat dans le WHERE? je croyais que c'etait seulement dans SELECT et HAVING ? ET on peut mettre des indentifiant des tables directement dans le SELECT?

sd460
sd460
Niveau 10
27 avril 2010 à 21:48:32

oui et oui pour les deux.
T'as pas une bdd pour tester ca ?

Crevost
Crevost
Niveau 4
27 avril 2010 à 22:52:44

Ah ok je savais pas ça, peut être que je vais y voir un peu plus clair, non malheureusement j'ai pas de base de donnée pour tester tout ça, donc je peux par exemple mettre des trucs du genre WHERE Sum(pages) ou avg(sum) = (SELECT... ?)

Bon maintenant faut que je trouve l'astuce pour les autres, c'est des requêtes imbriquées aussi? un peu galère mais bon une fois que j'aurai compris ça.. :)

Sous forums
  • Métiers & Orientation
  • Histoire
  • Politique
  • Cours et Devoirs
  • Environnement & Nature
  • Philosophie
La vidéo du moment