Citation:
Envoyé par
harbonne
Bonjour,
-Que signifie la notion de synonyme( 'tablename = nom d'une table, d'une vue ou d'un synonyme')?
Un synonyme est un nom (ALIAS) que tu définis qui pointeras sur un autre objet (cela peut être une table, une vue)
Par exemple quand tu fais :
Dual est en fait un synonyme qui pointe sur la table DUAL du schéma SYS, cela te permet d'éviter d'écrire
Code:
SELECT 'x' from SYS.DUAL
Citation:
-A propos de la clause 'WHERE' je lis quelle peut comparer des valeurs dans ldes colonnes, des littéraux, des expressions arithmétiques ou des fonctions.
Pouvez vous me donner un exemple de comparaison de valeurs dans des fonctions( peut être des fonctions sql telles que avg, sum?).
Par exemple:
Code:
1 2 3 4 5 6 7 8
|
SELECT ..
FROM TABLE
WHERE MaColonne = Nvl(Param1,Param2)
ou
WHERE MaColonne = MaFonction(Param1)
où MaFonction est une fonction stockée retournant une valeur de même type que ma colonne |
Citation:
-a propos de la valeur 'null', on la définit comme une valeur inconnue ou innaplicable.
Pouvez vous me donner un exemple?
Toujours à propos de la valeur null, je lis qu'elle ne peut pas correspondre à une condition d'égalité.
Si on peut insérer la valeur null dans un champ d'une table, pourquoi ne peut elle pas être l'objet d'une condition d'égalité?
En fait, c'est parce qu'elle est inconnue et inapplicable qu'on ne peut pas utiliser de condition d'égalité
La requête suivante retournera 'IS NULL' uniquement, car une condition impliquant une valeur nulle en dehors de l'opérateur IS NULL (ou IS NOT NULL) sera toujours fausse
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
SELECT 'EGAL'
FROM DUAL
WHERE NULL = NULL
UNION ALL
SELECT 'DIFFERENT'
FROM dual
WHERE NULL <> NULL
UNION ALL
SELECT 'IS NULL'
FROM dual
WHERE NULL IS NULL |
Citation:
-a propos des règles de priorité :il est expliqué que l'opérateur 'and' a la priorité sur l'opérateur 'or'.
Dans la requête suivante :'select ename, job,sal
from emp where job='salesman'
or job='president' and sal >1500;
la priorité dont il est question plus haut consiste elle à évaluer d'abord la condition 'job='president' and sal>1500?
GRANDE REGLE A SE REPETER 1 000 FOIS AVANT DE S ENDORMIR : TOUJOURS UTILISER DES PARENTHESES QUAND ON UTILISE UN OR!!!!
ET NE JAMAIS FAIRE CONFIANCE AUX REGLES DE PRIORITE
Cela peut être très dangereux d'utiliser un OR sans bien encadrer sa portée par des parenthèses et ceux qui ne le font pas méritent le bucher :evilred:
Citation:
pb à propos de l'ordre croissant : il est possible de selectionner plusieurs champs concernés par la clause order by
Dans l'exemple suivant : select ename, job, hiredate,deptno
from emp order by hiredate desc, deptno asc, voici les résultats obtenus
king president 17/11/1981 10
martine salesman 20/09/1981 30
jones manager 02/04/1981 20
allen manager 20/02/1981 30
Je constate que le champ deptno n'est pas en ordre croissant
pouvez vous m'expliquer pourquoi?
Peut être ne peut on pas toujours obtenir l'odre demandé dans la clause order by, ou peut être ai je mal compris la requête et le resultat qu'elle doit ramener.
Un order by sur plusieurs colonnes se lit naturellement par : Ordonne le résultat avec la première colonne que j'ai précisé dans le Order by, pour les lignes ayant une valeur identique sur celle-ci, ordonne les ensuite par la 2nd colonne du order by, pour les colonnes ayant une valeur identique sur les 2 premières colonnes, ordonne les ensuite par la 3ème ... et ainsi de suite
Citation:
Merci encore beaucoup à vous.
Cordialement.
Nathalie
De rien ;)