Je comprends que vous ne pouvez pas avoir ORDER BY
dans une vue. (Au moins dans SQL Server 2012, je travaille avec)
Je comprends également que la manière "correcte" de trier une vue consiste à placer une déclaration ORDER BY
autour de la SELECT
requête.
Mais étant relativement nouveau au SQL pratique et aux usages des vues, je voudrais comprendre pourquoi cela est fait par la conception. Si j'ai bien suivi l'historique, cela était autrefois possible et a été explicitement supprimé de SQL Server 2008, etc. (ne me citez pas sur la version exacte).
Cependant, la meilleure raison pour laquelle Microsoft peut supprimer cette fonctionnalité est "une vue est une collection non triée de données".
Je suppose qu'il existe une bonne raison logique pour laquelle une vue devrait être non triée. Pourquoi une vue ne peut-elle pas être simplement une collection de données aplatie? Pourquoi spécifiquement non trié? Il ne semble pas si difficile de trouver des situations dans lesquelles (du moins pour moi / IMHO) il semble parfaitement intuitif d’avoir une vue triée.