OPALE - 10.0 - Utilisation

Opérateur SQL

De MappingDoc
Révision datée du 15 mars 2019 à 09:32 par imported>Admin

Connect permet d'utiliser les opérateurs SQL suivants :

  • Avg

La fonction Avg permet de calculer la valeur moyenne de plusieurs expressions.

Exemple : Pour calculer le prix moyen des articles de la table PRODUIT.

Select Avg(PRODUIT.UNITPX) From MAP400.PRODUIT


  • Count

La fonction Count permet de comptabiliser le nombre d'enregistrements dans une table donnée.

Exemple : Pour comptabiliser le nombre de produits dans la table PRODUIT.

Select Count(PRODUIT.NOM) From MAP400.PRODUIT


  • Create

La commande Create permet de créer toutes sortes d'objets SQL : TABLE, USER, VIEW ...

Exemple : Create TABLE

La commande Create TABLE permet de créer une table avec des colonnes d'un type de données spécifique.

Syntaxe :

Create TABLE nom_table
(
   nom_col type [ NULL | NOT NULL | PRIMARY KEY | UNIQUE ],
   [ nom_colN type   [ NULL | NOT NULL | PRIMARY KEY | UNIQUE ] ]
);


Avant d'exécuter une telle commande, il est nécessaire de rassembler certains éléments indispensables. Un nom de table unique doit être précisé afin de l'identifier dans la base de données.

Pour chaque colonne à créer à l'intérieur de la table, il faut spécifier des noms de colonnes distincts. Chaque colonne nécessitant un type de donnée, il faut indiquer le type de données à assigner à chacune des colonnes à créer.

Toute table nécessitant une colonne faisant office de clé primaire, il faut impérativement en déterminer une avec une contrainte d'unicité UNIQUE.

Des contraintes peuvent être également spécifiées pour les valeurs d'une colonne lors de la création de la table.

Contrainte Description

NULL        indique que la colonne peut contenir des valeurs nulles.
NOT NULL    indique que la colonne ne peut contenir de valeurs nulles.
PRIMARY KEY indique que la colonne constitue la clé primaire de la table.
UNIQUE      impose que chaque valeur de la colonne doit être unique.


  • Delete

L'instruction Delete s'utilise avec la clause From afin de supprimer des enregistrements au sein d'une table.

Delete From Nom_Table
[condition Where]

La clause conditionnelle Where détermine les enregistrements à sélectionner pour effectuer leur suppression complète de la table.

Une sous-requête peut être utilisée pour sélectionner des enregistrements à supprimer.

Si aucune condition n'est spécifiée, alors tous les enregistrements de la table seraient purement et simplement supprimés.

Exemple : Suppression de l'enregistrement qui porte la référence n°10 dans la table PRODUIT de la bibliothèque MAP400.Delete From MAP400.PRODUIT Where REF=10


  • Drop

La commande Drop table est une requête permettant la suppression complète d'une table. Elle n'est utilisable que sous Oracle.

Drop table Nom_Table [RESTRICT | CASCADE]

La clause RESTRICT restreint la suppression aux enregistrements de la seule table et retourne une erreur si la table est référencée par une vue ou une contrainte.

La clause CASCADE provoque la suppression de la table et de toutes ses références.Suite à l'exécution d'une telle commande, plus aucune requête ne pourra être appliquée sur cette table.


  • From

La clause From intervient toujours en association avec l'instruction Select. Il s'agit d'un élément obligatoire de toute requête. Son objectif est d'indiquer à la base de données la ou les tables à affecter pour récupérer les données recherchées par le biais de la requête.

From TABLE1 [ , TABLE2]


  • Insert

La commande Insert into permet d'ajouter des données dans une table.

Insert into Nom_Table
                   (Champ_1, Champ_2, ..., Champ_N)
       VALUES (Valeur_1, Valeur_2, ..., Valeur_N)


L'ajout de données dans une table demande évidemment, la parfaite connaissance de la structure de la table, puisqu'il est nécessaire de fournir le nom des champs dans le bon ordre et des informations correspondant à leur type de données respectif.

Les valeurs de colonnes doivent être encadrées par des guillemets simples (') s'il s'agit de chaîne de caractères, les nombres ne nécessitant pas de guillemets :

VALUES ('Chaîne de caractères', 100)

Il est possible de ne pas énumérer les noms de colonnes si l'ajout de données concerne un enregistrement complet de la table :

Insert into Nom_Table
       VALUES (Valeur_1, Valeur_2, ..., Valeur_N)

En général, la citation des noms de colonnes est pertinente pour un ajout de données limité à certains champs de la table.

Insert into Nom_Table
                (Champ_1, Champ_2)
       VALUES (Valeur_1, Valeur_2)


  • Leftjoin

La jointure externe Leftjoin (aussi appelée Outerjoin) est employée pour retourner toutes les lignes d'une table, même si celles-ci ne possèdent pas de correspondance dans la table jointe.

Elle permet en fait de créer une seule vue à partir de deux tables ayant un champ commun (les deux champs ne doivent pas obligatoirement porter le même nom).

Exemple: Création d'une vue à partir des tables PRODUIT et DETAIL de la bibliothèque MAP400. Ces deux tables ont le champ REF en commun.

Select PRODUIT.REF, NAME, TEXT From MAP400.PRODUIT Leftjoin MAP400.DETAIL ON (PRODUIT.REF=DETAIL.REF)


  • Max

La fonction Max renvoie la valeur maximum d'un champ parmi une série d'enregistrements.

Exemple : sélectionner le produit le plus cher dans la table PRODUIT.Select Max(produit.unitpx) From mylib.produit


  • Min

La fonction Min renvoie la valeur minimum d'un champ parmi une série d'enregistrements.

Exemple : sélectionner la facture qui présente le plus petit montant parmi toutes les factures de la table MYTABLE.Select Min(MYTABLE.AMOUNT) From MYLIB.MYTABLE


  • On

La clause On est à utiliser avec la jointure Leftjoin et sert à préciser sur quel champ se fait la jointure.


  • Select

L'instruction Select s'utilise avec la clause From afin d'extraire les données de la base. La partie Select de la requête sert à sélectionner les données à afficher et s'adresse aux champs dans lesquels sont stockées les données dans la table.

Select [* | ALL | DISTINCT CHAMP1, CHAMP2 ] From TABLE1 [ , TABLE2];

Remarque : L'astérisque (*) indique que tous les champs de la table doivent être sélectionnés.L'option ALL permet d'afficher toutes les valeurs d'un champ (option par défaut, non obligatoire donc l'option DISTINCT sert à éliminer les doublons.

Exemple : Affichage de tous les enregistrements de la table MYTABLE de la bibliothèque MYLIB.Select * From MYLIB.MYTABLE


  • SelectXML

L'opérateur SelectXML est utilisé avec From et permet d'extraire des données à partir d'un fichier XML via une requête de type Xpath.

Exemple

SelectXML "@ID_PRODUCT,@QTY,@NAME,@UNITPX" From "/Invoices/Invoice[" $DB.Number_of_invoices "]/product"

Les données sélectionnées sont stockées dans les champs de la table correspondante.