Maison >base de données >tutoriel mysql >Pourquoi Oracle exige-t-il une clause FROM dans les instructions SELECT et quelles sont les meilleures solutions de contournement ?
Restriction d'Oracle sur SELECT sans clause FROM
Alors que SQL Server autorise les instructions SELECT sans référencer une table, Oracle impose l'inclusion d'un FROM clause. Cela pose une question aux utilisateurs habitués à utiliser de telles requêtes.
Pour contourner cette limitation, les développeurs Oracle ont souvent recours à la double table. Cependant, des inquiétudes surviennent quant à l'efficacité et aux meilleures pratiques de cette approche.
Utilisation de la table DUAL
La table double d'Oracle est une table à enregistrement unique qui sert de espace réservé pratique pour les instructions SELECT qui ne nécessitent pas d'accès à des données de table spécifiques. Son utilisation, comme illustré ci-dessous, est devenue une pratique courante :
Select 1,2+3, 'my dummy string' FROM DUAL
Avantages de l'utilisation de la table DUAL
L'utilisation de la table dual offre plusieurs avantages :
Alternatives à l'utilisation de la table DUAL
Bien que la table double reste une option viable, des approches alternatives peuvent également être envisagées :
Conclusion
Dans Oracle, les instructions SELECT sans clause FROM sont en effet interdites. L'utilisation de la double table est apparue comme une solution de contournement pratique, offrant des avantages tels qu'un accès léger et une flexibilité. Cependant, des alternatives telles que les tables temporaires et les requêtes en ligne peuvent également être envisagées pour des scénarios spécifiques. En fin de compte, le choix dépend des exigences et des préférences du développeur.
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!