*=
右外部結合の演算子と'=*'がSQL標準から削除された理由left outer join
、または少なくともSQL Server2005以降ではサポートされていない理由について知りたいと思いました。この特定の演算子に関する他のいくつかの投稿を読み、予期しない結果が生じる可能性があることを理解しています。しかし、それが意味的に同等である場合、複数のテーブルを結合する必要がある場合は、より簡単な演算子を使用できると思います。どちらかといえば、次のような正しい語順を取得しようとするのではなく、この演算子を使用して動的にSQLクエリを作成したいと思います。
FROM accounts
LEFT OUTER JOIN customers
ON accounts.accountnum = customers.accountnum
LEFT OUTER JOIN products
ON customers.accountnum = products.accountnum
AND customers.id = products.customerid
どこ
FROM accounts, customers, products
WHERE accounts.accountnum *= customers.accountnum AND
customers.accountnum *= products.accountnum AND
customers.id *= products.customer.id
一緒に解析する方が簡単なようです。
しかし、現実の世界に戻ると、これらの演算子が「真の」外部結合を実行しない場合、これらの演算子のアイデアは何でしたか?ショートハンド という用語は、まったく同じことを行う必要があることを意味しますが、この場合は明らかにそうではありません。