__c
, __r
만약 A라는 Object와 B라는 Custom Object가 서로 연관 관계라면
B라는 Object에는 A__c 라는 필드가 있을 것이다.
이때 B의 Name
, A의 ID
, A의 Name
을 가져오는 SOQL을 작성해보면 다음과 같이 사용할 수 있다.
SELECT Name, A__c, A__r.Name FROM A__c
쿼리를 보면 __c
는 ID만을 반환하고 __r
을 사용하면 해당 Object의 값의 참조가 반환된다
__c
, __r
Standard Objects에서도 사용이 가능하다.
예를들어 Account와 Contact 관계는 Lookup 연관관계를 가진다.
Contact의 Name
, Account의 ID
, Account의 Name
을 가져오고 싶다면 다음과 같이 SOQL을 작성하면 된다.
SELECT Name, AccountId, Account.Name FROM Contact
다른 예시
SELECT Name, Product2Id, product2.Name, Pricebook2Id, Pricebook2.Name FROM PricebookEntry
Standard Objects는 __r
대신 해당 Object의 Object 명을 작성해주면 된다.
[참고자료]