Pada masa awal SQL, ini dipilih sebagai solusi untuk masalah bagaimana menangani nama kolom duplikat (lihat catatan di bawah).
Untuk meminjam pertanyaan dari jawaban lain:
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
Kolom ProductID(dan mungkin lainnya) adalah umum untuk kedua tabel dan karena sintaks kondisi gabungan memerlukan referensi ke keduanya, 'kualifikasi titik' memberikan disambiguasi.
Tentu saja, solusi yang lebih baik adalah tidak pernah mengizinkan nama kolom duplikat! Untungnya, jika Anda menggunakan NATURAL JOINsintaks yang lebih baru , kebutuhan untuk variabel rentang Pdan Ohilang:
SELECT ProductName, ProductRetailPrice, Quantity
FROM Products NATURAL JOIN Orders
WHERE OrderID = 123456
Tetapi mengapa ASkata kunci opsional? Ingatan saya dari diskusi pribadi dengan anggota komite standar SQL (baik Joe Celko atau Hugh Darwen) adalah bahwa ingatan mereka adalah bahwa, pada saat menentukan standar, produk satu vendor (Microsoft?) Memerlukan penyertaannya dan vendor lain produk (Oracle's?) memerlukan kelalaiannya, jadi kompromi yang dipilih adalah menjadikannya opsional. Saya tidak memiliki kutipan untuk ini, Anda percaya atau tidak!
Pada masa-masa awal model relasional, hasil perkalian silang (atau gabungan-theta atau gabungan-eku) dari relasi yang judulnya tidak terputus-putus tampak menghasilkan relasi dengan dua atribut dengan nama yang sama; Solusi Codd untuk masalah ini dalam kalkulus relasionalnya adalah penggunaan kualifikasi titik, yang kemudian ditiru dalam SQL (kemudian disadari bahwa apa yang disebut gabungan alami adalah primitif tanpa kerugian; yaitu, gabungan alami dapat menggantikan semua gabungan theta dan bahkan produk silang.)
Sumber: Business System 12, Catatan berupa slide presentasi yang diberikan pada TTM Implementers 'Workshop, University of Northumbria, 2-3 Juni 2011 oleh Hugh Darwen