Course objectives
Objectifs pédagogiques :
- Maîtriser les jointures et leurs variantes
- Maîtriser les requêtes ensemblistes
- Écrire des requêtes SQL complexes (jointures externes, select imbriqués corrélés, etc.)
- Savoir modéliser une requête complexe à l’aide d’un arbre
- Transcrire cet arbre en requête SQL
Who is this course for?
Ce cours SQL Perfectionnement cible principalement les utilisateurs finaux, utilisateurs BI , développeurs, administrateurs, chefs de projet, et plus généralement toute personne ayant une première expérience du langage SQL mais ne s’estimant pas totalement à l’aise ni autonome pour écrire des requêtes SQL plus ou moins complexes.
Prerequisites
Pour suivre cette formation SQL Perfectionnement, il est important de bien connaître les fondamentaux du SQL (select … from … where, group by, jointure simple, etc.) et les concepts fondamentaux des bases de données relationnelles (table, lignes, colonnes, clef primaire, clef étrangère).
Programme
Maîtriser les jointures
- Rappels sur les liens entre les données dans un SGBDR La jointure « classique » (INNER JOIN) Différence avec la jointure « naturelle » (NATURAL JOIN) Jointure avec « beaucoup » de tables La jointure croisée ou produit cartésien (CROSS JOIN) Quand a-t-on besoin de faire une jointure externe (RIGHT/LEFT JOIN) ? Condition vraie dans au moins une des tables (FULL JOIN) Exemples d’auto jointure (SELF JOIN)
Expressions régulières et SQL
- Limites de l’opérateur LIKE Philosophie des expressions régulières Étendre les méta-caractères (^,. ,*,[, …) Syntaxe générale des fonctions Fonction : regexp_like. Fonction : regexp_substr. Fonction : regexp_instr. Fonction : regexp_replace. Fonction : regexp_count.
Opérateurs ensemblistes
- Règles à respecter pour assembler des requêtes : – Nombre d’expressions projetées – Types des expressions projetées Les opérateurs UNION, UNION ALL, INTERSECT et MINUS Trier les informations
Compléments sur le regroupement de données
- Rappels sur GROUP BY et HAVING Constitution de sous-groupes avec ROLLUP et CUBE Application partielle et totale ROLLUP et CUBE Identification de lignes générées par ROLLUP et CUBE avec les fonctions GROUPING et GROUPING_ID Gestion des NULLs Identification de groupes dupliqués Tableaux croisés avec PIVOT et UNPIVOT
Manipulation avancée en SQL
- Insertion multi tables inconditionnelles, inconditionnelles avec “rotation”, conditionnelles, conditionnelles exclusives. Insertion ou modification avec la commande MERGE Utilisation de sous-requêtes corrélées ou interrogation sur tuples Manipulation et consultation avec la clause RETURNING.
Aide à l’écriture de requêtes SQL complexes
- Principes d’un arbre de requête (algébrique) Vocabulaire (projection, restriction, …) Formalisme associé Exemples de requêtes complexes modélisées progressivement par un arbre Passage au SQL correspondant
Description de la formation SQL Perfectionnement
Le succès du SQL (Structured Query Language) provient principalement de sa simplicité et de sa syntaxe presque géométrique autour de données structurées en lignes et en colonnes. La structure de programmation « select …from … where … » devient cependant moins intuitive à utiliser dès lors que les requêtes deviennent plus complexes avec plusieurs tables et des conditions qui se cumulent.
Cette formation SQL Perfectionnement vous apprendra à lire et écrire des requêtes SQL complexes en disposant d’une méthodologie solide et étayée.
Travaux Pratiques
Les travaux pratiques représentent 80% du temps de formation.
Topics: SQL

