Maison >base de données >tutoriel mysql >Existe-t-il une meilleure alternative à l'utilisation de la table DUAL dans Oracle pour les instructions SELECT sans clause FROM ?

Existe-t-il une meilleure alternative à l'utilisation de la table DUAL dans Oracle pour les instructions SELECT sans clause FROM ?

DDD
DDDoriginal
2024-12-24 22:55:18587parcourir

Is There a Better Alternative to Using the DUAL Table in Oracle for SELECT Statements Without a FROM Clause?

Instructions Select sans clause FROM dans Oracle

Dans SQL Server, une instruction SELECT peut être exécutée sans référencer une table, en utilisant une syntaxe telle que :

Select 1.2 +3, 'my dummy string'

Cependant, Oracle n'autorise pas une instruction SELECT sans clause FROM. Pour exécuter de telles requêtes dans Oracle, la table double est souvent utilisée :

Select 1,2+3, 'my dummy string' FROM DUAL

Cela soulève la question : existe-t-il une meilleure façon d'effectuer ce type de requête dans Oracle ? Explorons la réponse.

Utilisation de double table

Non, Oracle n'autorise pas les instructions SELECT sans clause FROM. L'utilisation de la table double est considérée comme une bonne pratique.

Dual est une table en mémoire qui fournit un chemin d'accès rapide sans exigences d'E/S. À l'origine, il contenait deux enregistrements et était utilisé pour dupliquer des enregistrements pour les opérations JOIN. Aujourd'hui, il n'a qu'un seul enregistrement mais peut toujours générer n'importe quel nombre de lignes à l'aide de la clause CONNECT BY :

SELECT  level
FROM    dual
CONNECT BY
        level <= 100

Prise en charge dans d'autres bases de données

D'autres bases de données comme MySQL prennent également en charge la double table et la syntaxe sans. La syntaxe de MySQL est similaire à celle de SQL Server :

Select 1.2 +3, 'my dummy string'

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn