Au début de SQL, il a été choisi comme solution au problème de la gestion des noms de colonne en double (voir la note ci-dessous).
Pour emprunter une requête à une autre réponse:
SELECT P.ProductName,
P.ProductRetailPrice,
O.Quantity
FROM Products AS P
INNER JOIN Orders AS O ON O.ProductID = P.ProductID
WHERE O.OrderID = 123456
La colonne ProductID
(et peut-être d'autres) est commune aux deux tables et comme la syntaxe de la condition de jointure nécessite une référence aux deux, la «qualification de point» permet de lever l'ambiguïté.
Bien sûr, la meilleure solution était de ne jamais avoir autorisé les noms de colonnes en double! Heureusement, si vous utilisez la nouvelle NATURAL JOIN
syntaxe, le besoin des variables de plage P
et O
disparaît:
SELECT ProductName, ProductRetailPrice, Quantity
FROM Products NATURAL JOIN Orders
WHERE OrderID = 123456
Mais pourquoi le AS
mot - clé est-il facultatif? Mon souvenir d'une discussion personnelle avec un membre du comité de normalisation SQL (Joe Celko ou Hugh Darwen) était que leur souvenir était qu'au moment de la définition de la norme, le produit d'un fournisseur (Microsoft?) Nécessitait son inclusion et celui d'un autre fournisseur. produit (Oracle?) exigeait son omission, le compromis choisi était donc de le rendre facultatif. Je n'ai aucune citation pour cela, vous me croyez ou non!
Dans les premiers jours du modèle relationnel, le produit croisé (ou thêta-jointure ou équi-jointure) de relations dont les en-têtes ne sont pas disjoints semblait produire une relation avec deux attributs du même nom; La solution de Codd à ce problème dans son calcul relationnel était l'utilisation de la qualification de point, qui a ensuite été émulée en SQL (on s'est rendu compte plus tard que la jointure naturelle était primitive sans perte; c'est-à-dire que la jointure naturelle peut remplacer toutes les jointures thêta et même produit croisé.)
Source: Business System 12, Notes associées aux diapositives de la présentation donnée à l'atelier des implémenteurs de TTM, Université de Northumbria, 2-3 juin 2011 par Hugh Darwen