그냥 정답만을 찾지 마시고 관련된 리소스를 많이 보시고, 어떻게 파이어베이스 리얼타임 데이터베이스가 동작하는지를 먼저 차근차근 이해하시면 좋을 것 같습니다.
https://firebase.google.com/docs/database/android/lists-of-data#filtering_data
https://www.youtube.com/c/firebase
https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui-with-indexed-data
파이어베이스 Realtimedabase는 조인은 지원되지 않을 겁니다. Firestore에는 비슷한 기능이 존재하는 것 같긴 하지만요.
member 노드를 먼저 가져오신 다음에 멤버에 있는 signID를 가지고 caregiver 노드를 가져오시는 방식으로 처리를 하셔야 할 겁니다. 데이터를 읽어오는 방법은 파이어베이스 문서에 나와있는 걸 참조하시면 되구요.
그리고 제 기억으로는 Realtimedabase 같은 경우는 HTTP(S)을 통해 특정 노드를 바로 접근할 수 있는 구조입니다.
예를 들면, 올리신 샘플데이터를 기준으로
member 리스트 가져오기: GET FirebaseReltimeDatabaseURL/member
note id가 NEpiRtiYU866BI 인 멤버 가져오기 : GET FirebaseReltimeDatabaseURL/member/NEpiRtiYU866BI
node id가 NF8n1RwbBIXzvn인 caregiver 가져오기: GET FirebaseReltimeDatabaseURL/caregiver/NF8n1RwbBIXzvn
로 가져올 수 있습니다. GET 은 HTTP get 방식이고 FirebaseReltimeDatabaseURL는 Realtimedabase 콘솔에 보시면 제공되는 URL입니다. 따라서 node ID를 signID로 사용하시면 HTTP로 원하는 데이터를 바로 가져오기 쉽습니다. 제 기억으로는 예전에 저는 Firebase SDK대신에 Retrofit으로 해서 Realtimedabase를 사용했던 기억이 있네요. signID를 노드 id 로 사요한다면 SDK를 사용하더라도 손쉽게 원하는 노드만을 가져올 수 있을 것 같습니다.