Maison >base de données >tutoriel mysql >Comment aliaser correctement les tables dans les requêtes Oracle SQL ?
Lors de l'alias d'une table à l'aide du mot-clé AS
dans Oracle, vous pouvez rencontrer l'erreur « ORA-00933 : la commande SQL n'est pas correctement terminée ». Cette erreur provient du fait qu'Oracle ne prend pas en charge l'alias de table à l'aide du mot-clé AS
.
Dans Oracle, la syntaxe des alias de table est une liste de noms de table séparés par des virgules, suivis de deux points (:), puis de l'alias souhaité. Par exemple :
<code class="language-sql">SELECT G.Guest_ID, G.First_Name, G.Last_Name FROM Guest, Stay S WHERE G.Guest_ID = S.Guest_ID AND G.City = 'Miami' AND S.Room = '222';</code>
Ou la syntaxe JOIN standard SQL moderne plus recommandée :
<code class="language-sql">SELECT G.Guest_ID, G.First_Name, G.Last_Name FROM Guest G JOIN Stay S ON G.Guest_ID = S.Guest_ID WHERE G.City = 'Miami' AND S.Room = '222';</code>
Pour résoudre l'erreur dans la requête d'origine, supprimez simplement le mot-clé AS
. Le deuxième exemple ci-dessus montre une syntaxe JOIN plus propre et plus maintenable qui évite l'ambiguïté des jointures implicites et rend les conditions de jointure explicites. Le développement SQL moderne recommande fortement d'utiliser la syntaxe JOIN. Bien qu'Oracle autorise l'ancienne syntaxe de jointure séparée par des virgules, elle est sujette aux erreurs et difficile à lire.
Cette requête modifiée s'exécutera avec succès sans alias de table à l'aide du mot-clé AS
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!