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.
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
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!