하나 이상의 범위 변수와 쿼리할 컬렉션을 지정합니다.
문법
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
부분
기간 | 정의 |
---|---|
element |
필수 사항입니다. 컬렉션의 요소를 반복하는 데 사용되는 범위 변수 입니다. 범위 변수는 쿼리가 을 반복collection 할 때 각 멤버 collection 를 참조하는 데 사용됩니다. 열거 가능한 형식이어야 합니다. |
type |
선택 사항입니다.
element 의 형식입니다. 지정하지 type 않으면 형식 element 이 .에서 collection 유추됩니다. |
collection |
필수 사항입니다. 쿼리할 컬렉션을 참조합니다. 열거 가능한 형식이어야 합니다. |
비고
이 From
절은 쿼리의 원본 데이터와 원본 컬렉션의 요소를 참조하는 데 사용되는 변수를 식별하는 데 사용됩니다. 이러한 변수를 범위 변수라고 합니다.
From
절은 집계된 결과만 반환하는 쿼리를 식별하는 데 사용되는 경우 Aggregate
를 제외하고 쿼리에 필요합니다. 자세한 내용은 Aggregate 절을 참조하세요.
쿼리에서 여러 From
절을 지정하여 조인할 여러 컬렉션을 식별할 수 있습니다. 여러 컬렉션을 지정하면 컬렉션이 독립적으로 반복되거나 관련된 경우 조인할 수 있습니다. 절을 사용하거나 명시적으로 또는 Group Join
절을 Select
사용하여 컬렉션을 암시적으로 조인할 Join
수 있습니다. 또는 각 관련 범위 변수와 컬렉션을 쉼표로 구분하여 단일 From
절에 여러 범위 변수 및 컬렉션을 지정할 수 있습니다. 다음 코드 예제에서는 절에 대한 From
두 구문 옵션을 모두 보여줍니다.
' Multiple From clauses in a query.
Dim result = From var1 In collection1, var2 In collection2
' Equivalent syntax with a single From clause.
Dim result2 = From var1 In collection1
From var2 In collection2
절은 From
루프의 범위와 유사한 쿼리 범위를 정의합니다 For
. 따라서 쿼리 범위의 각 element
범위 변수에는 고유한 이름이 있어야 합니다. 쿼리에 대해 여러 From
절을 지정할 수 있으므로 후속 From
절은 절의 From
범위 변수를 참조하거나 이전 From
절의 범위 변수를 참조할 수 있습니다. 예를 들어 다음 예제에서는 두 번째 절의 컬렉션이 첫 번째 절에 있는 범위 변수의 속성을 기반으로 하는 중첩 From
절을 보여줍니다.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
각 From
절 뒤에 추가 쿼리 절을 조합하여 쿼리를 구체화할 수 있습니다. 다음과 같은 방법으로 쿼리를 구체화할 수 있습니다.
and
Select
절을 사용하거나 orGroup Join
절을From
사용하여Join
명시적으로 여러 컬렉션을 암시적으로 결합합니다.절을
Where
사용하여 쿼리 결과를 필터링합니다.절을 사용하여 결과를 정렬합니다
Order By
.절을 사용하여 유사한 결과를 그룹화합니다
Group By
.절을
Aggregate
사용하여 집계 함수를 식별하여 전체 쿼리 결과를 평가합니다.이 절을
Let
사용하여 컬렉션 대신 식에 의해 값이 결정되는 반복 변수를 도입합니다.절을
Distinct
사용하여 중복 쿼리 결과를 무시합니다.,
Take
및Skip While
Take While
절을 사용하여Skip
반환할 결과의 일부를 식별합니다.
예시
다음 쿼리 식은 절을 From
사용하여 컬렉션의 각 Customer
개체에 대한 범위 변수 cust
를 customers
선언합니다. 이 절은 Where
범위 변수를 사용하여 지정된 지역의 고객에게 출력을 제한합니다. 이 루프는 For Each
쿼리 결과에 각 고객의 회사 이름을 표시합니다.
Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
ByVal region As String)
Dim customersForRegion = From cust In customers
Where cust.Region = region
For Each cust In customersForRegion
Console.WriteLine(cust.CompanyName)
Next
End Sub
참고하십시오
.NET