SQL : requete pour afficher les 5 premiers en

Comment établir une requete SQL qui m'affiche les 5 premiers enregistrements d'une table 'CLIENTS' ou bien les enregistrements 6, 7, 8, 9 et 10 ?
exemple de table Client(id_clients, nom, prenom)
Merci de me répondre !

11 réponses

Résumé de la discussion

Plusieurs échanges portent sur la manière d'écrire une requête SQL pour afficher les 5 premiers enregistrements d'une table CLIENTS ou les enregistrements 6 à 10, selon le SGBD utilisé. Pour MySQL, les propositions les plus utilisées montrent SELECT * FROM Clients LIMIT 0,5 pour les cinq premiers et SELECT * FROM Clients LIMIT 5,5 pour les suivants, sans recours au TOP. D'autres SGBD, notamment SQL Server, utilisent TOP et des combinaisons avec NOT IN ou des requêtes imbriquées pour obtenir les pages, bien que ce ne soit pas uniforme entre versions. En pratique modernes, certains SGBD proposent des mécanismes plus standardisés comme OFFSET/FETCH NEXT ou ROW_NUMBER pour paginer les résultats, offrant une approche plus universelle que TOP ou LIMIT.

Bobot (l’IA à votre service)
  1. Ah ouais? Avec Mysql, ca donnerait: SELECT * FROM Client LIMIT 0,5; pour afficher les 5 premiers. Et pour les suivants, SELECT * FROM Client LIMIT 5,10;
    Parcontre, pas de TOP ni de FIRST...
    Voili voilou !

    Kalamit,
    Je ponce donc j'essuie
    42
    1. Contributeur
      Ils sont lourd MySQL a ne jamais rien faire comme les autres :-D

      .  .
      \_/
      -1
    2. @teeboBah en fait, j'ai jamais trouvé une base qui fait du SQL strict, Oracle a également son PL/SQL tout zarb... Je ne parle meme pas d'ACCCESS et je pense que pour SqlServer, c'est le meme bin's.

      Kalamit,
      Je ponce donc j'essuie
      0
    3. Modérateur
      Ah la vache, c'est le genre de fonctionnalité que j'aurais aimé avoir sous Microsoft SQL Server 7.
      ça nous aurait épargné pas mal de problème.
      -1
    4. SELECT top 10 nom_client
      FROM client
      0
    5. tres bien
      0