Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HELP] Comprendre le SQL

    11 novembre 2018 à 19:26:17

    Bonsoir, je viens poster car je suis dans le brouillard total

    J'ai appris la programmation C++ en autodidacte et en ce moment dans le cadre de ma formation je suis sur du JAVA et du SQL.

    C++ et JAVA étant des langages objets, je n'ai pas eu de problème à tout assimiler sur leurs logiques et leurs principes de fonctionnement

    Seulement du côté du SQL c'est autre chose. Sur des requêtes simple n'impliquant pas de sous-requêtes je suis capable de faire quelque chose d'à peu près correct, mais dès qu'il y en a, ou que les jointures sont complexes, je suis complètement perdu. Sur ces 3 dernières semaines j'ai passé facilement 150h à essayer de travailler dessus mais je reste dans l'incompréhension quasi-totale. Mon prof ne nous fournit que des powerpoints de 4 lignes en guise de cours et ne s'attarde pas sur les lacunes de ses élèves, se concentrant sur ceux qui sont déjà à l'aise. Les sites non plus ne me sont d'aucune aide, ce n'est pas la syntaxe ni l'utilité des lignes de code mais la façon dont sont traitées les requêtes qui me posent problème.

    Je ne comprends tout simplement pas la logique du langage SQL, la plupart de mes requêtes ne me retournent pas le résultat escompté, j'ai l'impression que mes nombreuses heures de travail n'ont servie à rien.

    Je tiens vraiment à assimiler ce langage, étant passionné pour la programmation il me faut absolument ce diplôme, je suis ouvert à tout conseil concernant la méthode d'apprentissage (le plus tôt possible serait le mieux, étant donné que j'ai un TD demain matin, mais dans tous les cas j'aimerai trouver une solution)

    • Partager sur Facebook
    • Partager sur Twitter
      11 novembre 2018 à 21:40:21

      Bonjour,

      Ta question est pour le moins vague (comment savoir ce que tu ne comprends pas...), tout dépend où tu coinces.

      Deux écueils classiques à tout hasard :

      - les jointures : tester tes jointures avec phpMyAdmin par exemple où équivalent pour visualiser la représentation d'un résultat global (sans WHERE).

      - GROUP BY : je me fais souvent reprendre ici à ce propos à cause du comportement des GROUP BY (spécifique à Mysql par exemple) et c'est souvent source de confusion. Je te conseille aussi de le tester avec phpMyadmin sur des requêtes simples.

      • Partager sur Facebook
      • Partager sur Twitter
        11 novembre 2018 à 23:13:24

        Merci pour ta réponse , je comprends que ma question manque de précision , mais c est justement parce que je ne sais pas ce qui coince exactement. Le fait est que la plupart de mes requêtes sont a côté de ce que je voulais renvoyer a la base. J' ai du mal a comprendre comment fonctionne la fusion des tables sur certains contextes.

        Par exemple, je ne sais jamais comment agencer ma requête pour qu elle réponde a un énoncer ( sauf sur des cas relativement simples) . Certains demandent une multitudes de sous requêtes , ce qui me fait perdre le fil de ce que je suis en train de cibler lorsque je rédige mon code. Impossible de m y retrouver en BDD. J' aimerai faire sans mais je n' ai pas le choix, c est un point essentiel de la programmation.

        Je travaille justement sur phpMyAdmin, sur des TP que nous avons déjà vu en cours 

        • Partager sur Facebook
        • Partager sur Twitter
          12 novembre 2018 à 9:07:16

          Bonjour,

          Peut-être que nous donner des exemples de requête (avec l'énoncé, ce que tu as fait et ce qui ne fonctionne pas) nous aideraient à t'aider ...

          Tu as le cours MySQL (cf. ma signature) qui pourrait aussi t'éclairer ...

          -
          Edité par Benzouye 12 novembre 2018 à 9:07:51

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            12 novembre 2018 à 9:10:01

            Pour moi, le plus important est la visualisation du résultat d'une requête. Par exemple en cas de sous requêtes, il faut s'imaginer le "tableau" renvoyé par une requête et le considéré comme une nouvelle table sur laquelle tu vas pouvoir faire une requête.

            Après, je ne suis pas un spécialiste moi-même, peut-être pourrais-tu donner un exemple (pas trop compliqué quand même :p ) ?

            • Partager sur Facebook
            • Partager sur Twitter
              12 novembre 2018 à 18:12:17

              Voici typiquement le genre de requête qui me pose problème :

              Affichez le nom et prénom des gardiens qui n’ont jamais été absents pour « congé maternité ». Enlevez
              les doublons.

              Sur le corrigé, (que je peux également fournir) on utilise un SELECT pour le ON de la jointure. Je trouve ce genre de requête très complexe à schématiser seul et je ne comprends pas du tout la manoeuvre que j'ai cité au dessus

              PS : C'est moi ou l'image des tables de la BDD n'est pas uploadée?

              -
              Edité par DavidFerlay 12 novembre 2018 à 18:13:02

              • Partager sur Facebook
              • Partager sur Twitter
                12 novembre 2018 à 19:44:47

                En effet, on ne voir pas l'image. Fournis également le corrigé stp.
                • Partager sur Facebook
                • Partager sur Twitter

                [HELP] Comprendre le SQL

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown