Aller au contenu

C’est quoi le SQL ? – partie 2

  • par

dark web, deep webC’est quoi le SQL ? – partie 2

<<<  Article précédent : C’est quoi le SQL ?

 

sql
SQL by phatplus from flaticon.com
Dans cet article, des exemples, des exemples et encore des exemples.

L’objectif est que vous compreniez bien la subtilité et les possibilités des requêtes SQL.

Commençons par la commande la plus utilisée : SELECT

Nos premières requêtes SQL

Pour que tout soit plus simple à comprendre, nous allons étudier les principales instructions SQL avec des exemples.
J’ai fait un exemple avec 2 tables seulement.

Exemple :

Imaginons un magasin de bricolage. Pour gérer son stock de matériel celui-ci a besoin d’une liste des articles qu’il peut vendre et d’un inventaire de son stock pour savoir ce qu’il détient en magasin. A partir de ces informations, nous pouvons utiliser les 2 tables suivantes :

Une table contenant des articles :

Articles
id_Article Designation
1 Clou
2 Vis 50 mm
3 Vis 100 mm
4 Agrafe
5 Cheville 7 mm
6 Colle

Et une table contenant le stock, avec le détail de ce qu’elle a acheté auprès de son fournisseur et de ce qui reste encore en magasin

Mon_Stock
id_Article nb_achete nb_en_stock
1 1000 200
2 300 0
2 500 100
4 2000 1800
3 500 0

On peut constater plusieurs choses :

  • On a acheté plusieurs fois de l’article 2
  • Il ne reste plus d’article 3 (stock =0)
  • On n’a jamais acheté l’article 5 ni de 6.
  • Il n’est pas facile de comprendre le stock car il ne fait référence qu’à des numéros d’article et pas à des noms d’articles.

C’est facile à voir directement car le stock est tout petit, mais imaginez maintenant la même chose avec des milliers d’articles et vous voyez tout l’intérêt des requêtes SQL qui vont pouvoir nous renseigner sur toutes informations.

 

Instruction SELECT

 

Partie 1 – Des requêtes simples

 

Exemple 1 : 

A – Ce que je veux obtenir

Afficher la liste des tous les articles (que le stock soit vide ou pas)

B – La requête

select * from articles
On peut traduire la requête par : Sélectionne moi tous les champs de la table « Articles »
Le * veut dire tous les champs.
j’aurais pu choisir les champs un à un exemple : Select id_article, designation …

C – Le résultat
id_Article Designation
1 Clou
2 Vis 50 mm
3 Vis 100 mm
4 Agrafe
5 Cheville 7 mm
6 Colle

 

Exemple 2 : 

A – Ce que je veux obtenir

La même chose mais triée par ordre alphabétique sur la désignation de l’article.

B – La requête

select * from articles order by designation
Vous l’avez compris, les mots réservés : « order by » indiquent qu’il faut trier le résultat.
(si vous aviez voulu trier dans l’autre sens, il suffit d’ajouter « DESC » à la fin du tri. On ajoute « ASC » pour tri ascendant et DESC pour tri descendant, comme ça :
select * from articles order by designation desc )

On peut mettre plusieurs champs dans le tri : on ajoute alors les champs séparés par des virgules comme par exemple :
… order by designation, id_article

 

C – Le résultat
id_Article Designation
4 Agrafe
5 Cheville 7 mm
1 Clou
6 Colle
3 Vis 100 mm
2 Vis 50 mm

 

Exemple 3 : 

A – Ce que je veux obtenir

Je veux avoir la liste des articles dont le stock est vide.

B – La requête

select * from mon_stock where nb_en_stock is null
Le mot clé « where » va poser une ou plusieurs condition à l’affichage
on aurait pu mettre aussi : select * from mon_stock where nb_en_stock = 0

C – Le résultat
id_Article nb_achete nb_en_stock
2 300 0
3 500 0

C’est pas vraiment ce que je voulais ! j’aurais avoir le nom des articles qui ont un stock à 0.

Pour cela, je vais devoir faire une jointure entre tables.
C’est ce que je vous propose de regarder dans C’est quoi une requête SQL partie 3 ?

 

Articles consacrés au SQL et aux bases de données :

C’est quoi le SQL ?
C’est quoi une base de données ?
Comment ça marche une base de données ?

 

 

 

 

Comme d'habitude, tous les commentaires sont les bienvenus.
Inscrivez-vous à la lettre d'information. Celle-ci vous parviendra dès la parution de nouveaux articles. Vous trouverez la zone d'inscription à la lettre d'information en haut à droite de l'écran.
 
Et enfin, pour toutes vos questions techniques, utilisez le forum. D 'autre utilisateurs pourront vous répondre et vous aider. Cliquez ici pour accéder au forum...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO