参照関係と外部結合での null 値
-
ORDER BY 句でレコードの外部キーの値が null の場合でも、レコードが返されます。次に例を示します。
1SELECT Id, CaseNumber, Account.Id, Account.Name 2FROM Case 3ORDER BY Account.Name次の例はカスタムオブジェクトを使用します。
1SELECT ID, Name, Parent__r.id, Parent__r.name 2FROM Child__c 3ORDER BY Parent__r.nameこのクエリは、子オブジェクトの Id と Name 値、各 Child 内で参照される親オブジェクトの Id と名前を使用し、親の名前で順番を付けます。Parent__r.id または Parent__r.name が null の場合でも、レコードを返します。
-
OR を使用する WHERE 句では、レコードの外部キーの値が null の場合でも、レコードが返されます。たとえば、組織に、LastName 項目の値が Young に一致し、AccountId 項目の値が null の取引先責任者が存在し、かつ、LastName 項目の値が Young とは異なり、Quarry という名前の親取引先を持つ別の取引先責任者が存在するとします。この場合に次のクエリを実行すると、両方の取引先責任者が返されます。
1SELECT Id FROM Contact WHERE LastName = 'Young' or Account.Name = 'Quarry' -
親項目の値をチェックする WHERE 句では、親が存在しない場合でもレコードが返されます。次に例を示します。
1SELECT Id 2FROM Case 3WHERE Contact.LastName = null - Boolean 項目を使用する WHERE 句では、Boolean 項目に null 値が含まれることはありません。代わりに、null は false として処理されます。外部結合オブジェクトの Boolean 項目は、クエリに一致するレコードがない場合は false として処理されます。