Salesforce/Apex Class

[Salesforce] SOQL Join 간단 정리

RHBY 2022. 4. 4. 14:09
// Left: Job_Application__c
// Right: Position__c

// 부모가 자식을 참조할 때에는 필드에 관계지시자를 사용 (Position__r.Name)
// 자식이 부모를 참조할 때에는 필드에 서브쿼리 형태로 직접 참조

// 부모가 자식에 대한 조인 조건을 설정할 때에는 자식 개체 Id로 조회 (Position__c != null)
// 자식이 부모에 대한 조인 조건을 설정할 때에는 자식 개체의 Id를 부모 개체에 대한 조건으로 설정 (Id In (부모개체 조회 서브쿼리))

Select Name, Position__r.Name From Job_Application__c
Select Name, (Select Name, Status__c From Job_Application__c) From Position__c

Select Name, Position__r.Name From Job_Application__c Where Position__c != null
Select Name, (Select Name, Status__c From Job_Application__c) From Position__c Where Id In (Select Position__c From Job_Application__c)

Select Name, Position__r.Name From Job_Application__c Where Position__c = null
Select Name, (Select Name, Status__c From Job_Application__c) From Position__c Where Id Not In (Select Position__c From Job_Application__c)

Select Name, Position__r.Name From Job_Application__c Where Position__r.Dept__c = 'Engineering'