

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# BY 절을 사용하여 문서 ID 쿼리하기
<a name="working.metadata.by-clause"></a>

**중요**  
지원 종료 알림: 기존 고객은 07/31/2025에 지원이 종료될 때까지 Amazon QLDB를 사용할 수 있습니다. 자세한 내용은 [Amazon QLDB 원장을 Amazon Aurora PostgreSQL로 마이그레이션](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)을 참조하세요.

고유 식별자(예: 차량의 VIN)로 의도된 필드를 정의할 수 있지만 문서의 진정한 고유 식별자는 [문서 삽입하기](working.create.md#working.create.insert)에 설명된 대로 `id` 메타데이터 필드입니다. 이러한 이유로 `id` 필드를 사용하여 테이블 간의 관계를 만들 수 있습니다.

문서 `id` 필드는 커밋된 뷰에서만 직접 액세스할 수 있지만, `BY` 절을 사용하여 기본 사용자 뷰로 프로젝션할 수도 있습니다. 예를 들어 다음 쿼리와 해당 결과를 참조하세요.

```
SELECT r_id, r.VIN, r.LicensePlateNumber, r.State, r.City, r.Owners
FROM VehicleRegistration AS r BY r_id
WHERE r_id = '3Qv67yjXEwB9SjmvkuG6Cp'
```

```
{
    r_id: "3Qv67yjXEwB9SjmvkuG6Cp",
    VIN: "1N4AL11D75C109151",
    LicensePlateNumber: "LEWISR261LL",
    State: "WA",
    City: "Seattle",
    Owners: {
        PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" },
        SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }]
    }
}
```

이 쿼리에서 `r_id`는 `FROM` 키워드를 사용하여 `BY` 절에 선언되는 사용자 정의 별칭입니다. 이 `r_id` 별칭은 쿼리 결과 집합에 있는 각 문서의 `id` 메타데이터 필드에 바인딩됩니다. 이 별칭은 `SELECT` 절에 사용할 수 있으며 *사용자 뷰*의 쿼리 `WHERE` 절에도 사용할 수 있습니다.

하지만 다른 메타데이터 속성에 액세스하려면 커밋된 뷰를 쿼리해야 합니다.

## 문서 ID에 조인하기
<a name="working.by-clause.joining-on-id"></a>

한 테이블의 문서 `id`를 다른 테이블의 사용자 정의 필드에서 외래 키로 사용하고 있다고 가정해 보겠습니다. 이 `BY` 절을 사용하여 이러한 필드에 있는 두 테이블의 내부 조인 쿼리를 작성할 수 있습니다(이전 항목의 [커밋된 뷰와 사용자 뷰 조인](working.metadata.md#working.metadata.committed-joins)과 유사).

다음 예제에서는 `PersonId` 및 문서 `id` 필드에서 각각 `DriversLicense` 및 `Person`라는 두 테이블을 조인하며, 후자에 대해 `BY` 절을 사용합니다.

```
SELECT * FROM DriversLicense AS d INNER JOIN Person AS p BY pid
ON d.PersonId = pid
WHERE pid = '1CWScY2qHYI9G88C2SjvtH'
```

테이블의 문서를 변경하는 방법을 알아보려면 [문서 업데이트 및 삭제](working.revisions.md) 섹션으로 이동하세요.