OPALE - 10.0 - Utilisation - Opérateur SQL
Différence entre versions
imported>Admin |
imported>Admin |
||
Ligne 116 : | Ligne 116 : | ||
<u>Exemple</u>: 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. | <u>Exemple</u>: 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. | ||
+ | |||
<code>Select PRODUIT.REF, NAME, TEXT From MAP400.PRODUIT Leftjoin MAP400.DETAIL ON (PRODUIT.REF=DETAIL.REF)</code> | <code>Select PRODUIT.REF, NAME, TEXT From MAP400.PRODUIT Leftjoin MAP400.DETAIL ON (PRODUIT.REF=DETAIL.REF)</code> |
Version du 15 mars 2019 à 09:16
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)