Les requêtes hiérarchiques

Les requêtes hiérarchiques extraient des données provenant d’une structure arborescente. Les enregistrements d’une structure arborescente appartiennent, en général, à la même table et sont reliés entre eux par des associations auto-récursives à plusieurs niveaux.

Les jointures

Il existe deux manières d’écrire en SQL la jointure entre plusieurs tables de la base de données. La forme historique et la plus utilisée est la syntaxe de jointure relationnelle (basé sur la norme ANSI SQL/86) ; la deuxième syntaxe est une jointure plus verbale qui respecte la norme AINSI SQL/92 et qui a été introduite dans Oracle 9i.

Les agrégats recapitulatifs

Un calcul d'agrégats porte toujours sur le regroupement indiqué par la clause« GROUP BY », mais il est parfois nécessaire d'effectuer un regroupement plus large afin de connaître d'autres valeurs.

La norme SQL 1999 introduit des nouvelles façons de réaliser des regroupements de données a l’aide des extensions à la clause « GROUP BY » il s'agit des deux fonctions de groupage « ROLLUP » et « CUBE » et une expression plus générale « GROUPING SETS ».

Le traitement de la case

Les opérateurs logiques de comparaison qui utilisent des expressions de types caractères sont soumis par défaut à tenir compte de majuscules/minuscules et des accents. Il est possible de s’affranchir de la sensibilité majuscules/minuscules ou des accents par la configuration de notre session. Les valeurs combinées des paramètres « NLS_COMP » et « NLS_SORT » déterminent les règles selon lesquelles les caractères sont triés et comparés.

La fonction REGEXP_LIKE

La fonction « REGEXP_LIKE » est très utile pour effectuer des recherches dans des chaînes alphanumériques correspondant à un certain motif défini par une expression rationnelle (expression régulière).