Tanda kurung tidak mengubah semantik. Posisi ON
klausa mengontrol urutan pemrosesan logis dari gabungan.
Kueri Pertama
SELECT Customer.Name,
Product.Desc,
Transaction.Date
FROM Product
INNER JOIN Transaction
ON Transaction.ProductID = Product.ID
INNER JOIN Customer
ON Transaction.CustomerID = Customer.ID
Kueri Kedua
(Kurung redundan dihapus)
SELECT Customer.Name,
Product.Desc,
Transaction.Date
FROM Product
INNER JOIN Transaction
INNER JOIN Customer
ON Transaction.CustomerID = Customer.ID
ON Transaction.ProductID = Product.ID
Jadi secara logis dalam contoh pertama Anda bergabung di Transaction, Product
terjadi terlebih dahulu kemudian tabel virtual yang dihasilkan dari itu bergabung ke Customer
, sedangkan pada contoh kedua Anda bergabung di Transaction, Customer
terjadi terlebih dahulu kemudian tabel virtual yang dihasilkan dari itu digabungkan ke Product
Ini hanya secara logis dan karena gabungan bagian dalam bersifat asosiatif dan komutatif, ini kemungkinan tidak akan membuat perbedaan pada rencana eksekusi (kecuali jika Anda menambahkan OPTION (FORCE ORDER)
ke kueri) tetapi dapat dilakukan untuk gabungan luar.
Ini dicakup oleh Itzik Ben Gan di sini tetapi artikel memiliki sejumlah ketidakakuratan, lihat surat tindak lanjut oleh Lubor Kollar juga.