Vous êtes sur la page 1sur 3

ORACLE

Le code SQL sur Oracle n’est pas tout à fait le même que sur Access. Les instructions ci-
dessous sont spécifiques à Oracle. Les instructions tels que SELECT, DISTINCT, FROM,
WHERE, GROUP BY, HAVING, ORDER BY (ASC/DESC), LIKE, >, <, =, IN, NOT
IN, NULL, NOT NULL sont les mêmes que sur Access, c’est pourquoi elles ne figurent pas
ci-dessous.

COMMANDES FONCTIONS EXEMPLES


‘‘ Sur Access on utilise   Recherche tout les articles de
Sur Oracle on utilise ‘ ‘ couleur rouges :

SELECT art_num
FROM Article
WHERE art_coul = ‘ROUGE’  ;
!= Inégalité Recherche tout les articles qui ne
sont pas rouges :

SELECT art_num
FROM Article
WHERE art_coul != ‘ROUGE’  ;
LIKE Même propriété que sur Recherche tout les noms
Access. commençant par DU :
Par contre % désignant
plusieurs caractères remplace SELECT NomC, PrenomC, RueC
* d’Access FROM CONDUCTEUR
WHERE NomC LIKE 'DU%';
UPPER UPPER transforme tous les SELECT NL
LOWER caractères d’un champ en FROM LIAISONS, TRAIN
majuscule ; attention il faut WHERE LIAISONS.NT =
marquer le nom voulu en TRAIN.NT
majuscule AND LOWER (VD) = 'paris'
LOWER les transforme en AND LOWER (TypeT) = 'corail';
minuscule ; attention il faut
marquer le nom voulu en SELECT NomC, PrenomC, RueC,
minuscule CPC, VilleC, Telc
FROM CONDUCTEUR
WHERE UPPER (NomC) LIKE
'DU%';
UNION Il est possible de faire l’union La liste des villes où habitent des
des résultats de deux requêtes. élèvent et des professeurs :
A B On a alors :
A+ B- SELECT DISTINCT VilleE
A∩B FROM ELEVES
UNION
SELECT DISTINCT VilleP
FROM PROFS ;
INTERSECT Il est possible de faire La liste des villes où habitent à la
l’intersection des résultats de fois des élèves et des professeurs :
deuxArequêtes.
B
On a alors : SELECT DISTINCT VilleE
A∩B FROM ELEVES
INTERSECT
SELECT DISTINCT VilleP
FROM PROFS ;
MINUS Il est possible de faire La liste des villes où habitent
l’intersection des résultats de seulement des élèves et pas de
deux requêtes. professeurs :
On a alors :
A-B SELECT DISTINCT VilleE
FROM ELEVES
MINUS
SELECT DISTINCT VilleP
FROM PROFS ;
EXISTS Une instruction étrange : Numéro des élèves qui ont au moins
NOT EXISTS On l’utilise pour tester une note en ALSI :
l’existence. Il est impératif de
faire une jointure entre les SELECT NumE
tables des deux SELECT. FROM ELEVES
Il est préférable d’utiliser IN WHERE EXISTS (
ou NOT IN à la place. SELECT NumE
FROM OBTENIR, MATIERES
WHERE OBTENIR.NumM =
MATIERE .Num.m
AND LibelleM= ‘ALSI’
AND
ELEVES.NumE=OBTENIR.Num
E ) ;
 La division En SQL, la division n’existe Nom et prénom des élèves qui ont
pas comme en langage obtenus au moins une note dans
algébrique. chaque matière :
Il faut donc la réécrire.
Le principe consiste à SELECT NomE, PrenomE
imbriquer 3 requêtes par FROM ELEVES E
l’intermédiaire de 2 NOT WHERE NOT EXISTS (
EXISTS. SELECT M.numM
FROM MATIERES M
WHERE NOT EXIST (
SELECT Note
FROM OBTENIR B
WHERE B.NumM=M.NumM
AND B.NumE=E.NumE ) ) ;

Vous aimerez peut-être aussi