と を持つcustomers
テーブルがあるaccount_number
とbilling_account_number
します。どちらかをテストする必要がある別のテーブルにリンクする場合、次の or 句を使用できます。
select c.name
from customers c
,left join credit_terms ct on account = c.account_number
or account = c.billing_account
ただし、次のものが同等に機能することがわかりました
select c.name
from customers c
,left join credit_terms ct on account in (c.account_number, c.billing_account)
それがインデックス化されていると仮定するとcredit_terms.account
、そのインデックスは両方のケースで使用されますか? 両方のステートメントは同じですか? どちらか一方に関連するコストはありますか?
私は適度なレベルの SQL にかなり慣れていませんが、素朴であることをお詫びします。