Formation ORACLE Langage SQL
Objectifs
Détailler les concepts fondamentaux des tables, colonnes, types, et contraintes.
Utiliser les clauses SELECT, FROM, WHERE, GROUP BY, et HAVING pour interroger les bases de données.
Apprendre à effectuer des jointures INNER JOIN, OUTER JOIN, et CARTESIAN JOIN entre plusieurs tables.
Savoir insérer, mettre à jour et supprimer des données avec les commandes INSERT, UPDATE, et DELETE.
Appliquer des fonctions d’agrégation, numériques, chaînes, et de date pour manipuler les données.
Analyser et améliorer les performances des requêtes en utilisant les index et les plans d’exécution.
Comprendre les concepts de transactions, verrouillage de lignes, et les commandes COMMIT, ROLLBACK, et SAVEPOINT.
Utiliser les opérateurs UNION, UNION ALL, INTERSECT, et MINUS pour combiner les résultats de plusieurs requêtes.
Pré-requis
Participants
Programme de formation
OUTIL SQL DÉVELOPPER ET CONNAISSANCE DE LA STRUCTURE D'UN SCHÉMA
-
Tables
-
Colonnes et Types
-
Index
-
Contraintes
- Null et NOT NULL, unicité, clé primaire, clés étrangères, vérification
-
Identifiants et valeurs
REQUÊTES D'INTERROGATION : CLAUSES SELECT ET FROM
-
Signification de FROM
-
Première utilisation de la clause WITH
-
Signification de SELECT
- ALL ou DISTINCT
-
Premières requêtes avec la fameuse table DUAL
-
Expressions numériques
-
Expressions chaînes
-
Traitement de l'absence de valeur
- Non renseigné : NULL
-
Premières requêtes sur une seule table applicative
-
Résultat d'une requête
- Une table (renommage des colonnes en sortie)
-
Première utilisation de requêtes imbriquées
-
Premières générations du plan d'exécution
-
Fonctions d'agrégations
- SUM, COUNT, AVG, MAX, MIN
REQUÊTES D'INTERROGATION : FROM ET WHERE
-
Retour sur la signification de la clause FROM
-
Clause WHERE
- Conditions sur les lignes (sous clause de FROM)
-
Expressions conditionnelles
- VRAI, PAS VRAI (FALSE ou UNKNOWN)
-
Opérateurs conditionnels
- Comparaisons de valeurs, LIKE, IN, BETWEEN, IS NULL, NOT, AND, OR...
-
Pièges à éviter
- Pas d'erreurs de syntaxe mais résultat faux
-
Requêtes applicatives sur une seule table
-
Utilisation des index
- Comment bien écrire une requête pour potentiellement utiliser les index existants
REQUÊTES D'INTERROGATION : JOINTURES CLAUSE FROM
-
Jointures entre tables
- Revoir le schéma relationnel avec clés primaires - clés étrangères
-
Jointure CARTESIAN
- Le problème classique
-
Jointure INNER JOIN
- Conditions d'associations sur les lignes
-
Jointure OUTER JOIN
- RIGHT, LEFT, et FULL
-
Conditions de jointures dans clause FROM ou dans clause WHERE
-
Requêtes applicatives sur deux, trois, quatre, cinq tables
-
Utilisation clause WITH, index
REQUÊTES D'INTERROGATION : CLAUSES GROUP BY ET HAVING
-
Signification de la clause GROUP BY
-
Contenu de la clause SELECT
-
Requêtes associées
-
Conditions sur les groupements
- Clause HAVING
GESTION DES DATES ET DES INTERVALLES DE DATES
-
Différents types de date
- DATE, TIMESTAMP...
-
Fonctions associées
- TO_DATE, TO_TIMESTAMP, TO_CHAR
-
Variables NLS
-
Utilisation des intervalles de date
FONCTIONS SIMPLES ESSENTIELLES
-
Fonctions numériques
- ROUND, TRUNC
-
Fonctions chaînes
- LENGTH, SUBSTR, INSTR...
-
Fonctions dates
- Retour sur les dates
-
Fonctions diverses
- NVL, CASE...
REQUÊTES D'INTERROGATION : SUITE
-
Clause ORDER BY
-
Fonctions analytiques
- Intérêts et utilisation
-
Clause WITH et requêtes récursives
-
Clause CONNECT BY
-
Clause WHERE
- EXISTS, NOT EXISTS, IN et NOT IN (le retour)
-
Opérateurs ensemblistes
- UNION, UNION ALL, INTERSECT, MINUS
LANGAGE DE MANIPULATION DES DONNÉES: LES FONDAMENTAUX
-
Insertion de lignes
- INSERT .. VALUES, INSERT .. SELECT
-
Mise à jour de données (UPDATE)
-
Suppression de données (DELETE)
-
Transactions
- Validation et annulations explicites ou implicites (COMMIT, ROLLBACK, SAVEPOINT)
-
Verrouillage de lignes
-
Ce qui se passe en interne
- Démonstration : visualisation des undos
-
Ce qu'il faut éviter