SQL peut paraître un peu déroutant pour les débutants. Ci-dessous, quelques conseils pour progresser en douceur dans l’apprentissage de ce langage.

Database schema

Figure 11.1 : schéma de base de données

Pratiquez !

Comme c’est souvent le cas en programmation, il est nécessaire de mettre les choses en pratique. Rendez-vous sur studybyyourself.com et faîtes les exercises. Vous pouvez même y refaire les exemples du présent cours.

Schéma de base de données

Comprenez bien le schéma de base de données avant de commencer un exercice. Essayez d’imaginer les données que peuvent contenir chaque table. Portez une attention particulière aux tables liantes (p.ex. Involvement).

Table

Détecter les tables concernées avant de commencer un exercice.

Jointure

Assurez-vous de bien avoir compris la notion de jointure car c’est le concept SQL le plus important.

Sous-groupe

En principe, vous n’avez pas besoin d’utiliser la clause DISTINCT, laquelle n’a pas expliquée dans le cours. Si vous l’utilisez ça signifie, soit que vous n’avez pas bien compris la notion de sous-groupe, soit que la base de données que vous utilisez n’est pas bien modélisée.

WHERE vs HAVING

WHERE pose des conditions sur les enregistrements alors que HAVING pose des conditions sur les sous-groupes dans leur entier.

Ordre d’exécution

Il est très important de garder en tête l’ordre dans lequel les opérations sont effectuées par SQL. D’abord, les tables sont jointes pour former une table agrégée. Seuls les enregistrements de celle-ci satisfaisant les conditions sont retenus (WHERE). Ensuite, sur la base de ces enregistrements restants, les sous-groupes sont créés (GROUP BY). Finalement, les conditions sur ces sous-groupes sont vérifiées (HAVING).

Cours avancé