On peut renommer
une
table et la donner
une
abréviation, l’intérêt c’est
d’avoir
un nom plus court et clair
pour l’utiliser dans
les jointures par
exemple
Syntaxe : Select champ1, champ2
From
table nouveau_nom
Exemple 1 : Changer le nom de la
table ouvrier en Ovr
Select num,
salaire
From
Ouvrier Ovr
Pratique
: Afficher
toute les champs de
la table Ouvrier
et
téléphone de chaque fournisseur associé.
Ouvrier (num, salaire, remise,
numf) num = numéro client
Fournisseur (numf, tel) numf
= numéro fournisseur
Select Ovr.*, tel
From Ouvrier Ovr, Fournisseur
Four
Where Ovr.num=Four.numf
Remarques 1
: On observe que les informations
demandés dans l’exercice existe
dans deux tables
différentes, alors
on doit créer des
relations entre
toutes
les tables qu’on va utiliser pour extraire des
données en cherchant
les champs partagés
qui existent dans les tables,
cette relation
appelée jointure a de la propriété,
et elle doit être déclarée en premier après
la clause Where (dans notre cas : « Where Ovr.num=Four.numf ») , après on ajoute d’autres conditions s’il y en a)
Remarque 2 :
Ovr.* est une écriture qui
existe en SQL qui affiche tous
les champs de
la table avant le
point (Ovr.* dans cette exemple SQL va afficher
tous les champs de la table ouvrier, il est utile à l’utiliser
a la place d’écrire tous les champs de la
table client et perdre le temps.
On peut aussi écrire Ovrier.* mais dans le cas
de mettre une abréviation Ovr, comme dans cet exercice SQL
ne va pas la reconnaitre car
son nom est changé en Ovr.
On peut extraire la
règle suivante
: TableX.* = Tous
les champs de la TableX
Remarque
3 : Dans la jointure qu’on
a fait « Where Ovr.num=Four.numf » On observe que les champs
partagés (num et numf
ne sont pas identiques au niveau d’écriture, même s’ils ont des valeurs identiques, chacune à sa
propre écriture)
dans
ce cas on
n’a
pas besoin d’écrire le nom de la table
avant le point (Ovr.num), car on fait ça seulement pour éviter la confusion entre des champs
qui appartiennent à des tables différents et
qui s’écrit de la même
manière.
On peut bien écrire dans ce cas
tout simplement
Select Ovr.*, tel
From client Ovr, Fournisseur Four
Where num= numf
Imaginons que le
champ numf
dans la table fournisseur a la même écriture que celui du
table client num, dans cas il est
obligatoire
d’écrire le champ sous forme détaillée « nomtable.champ » pour que SQL reconnaitre les deux champs el les distingue
dans
notre cas « Ovr.num=Four.num » alors la syntaxe final :
Select Ovr.*, tel
From client Ovr, Fournisseur Four
Where Ovr.num=Four.num
Aucun commentaire:
Enregistrer un commentaire