From 절 (Visual Basic)From Clause (Visual Basic)

하나 이상의 범위 변수와 쿼리할 컬렉션을 지정 합니다.Specifies one or more range variables and a collection to query.

SyntaxSyntax

From element [ As type ] In collection [ _ ]  
  [, element2 [ As type2 ] In collection2 [, ... ] ]  

부분Parts

용어Term 정의Definition
element 필수 요소.Required. 컬렉션의 요소를 반복 하는 데 사용 되는 범위 변수 입니다.A range variable used to iterate through the elements of the collection. 범위 변수는 collection 쿼리를 통해가 반복 될 때의 각 멤버를 참조 하는 데 사용 됩니다 collection .A range variable is used to refer to each member of the collection as the query iterates through the collection. 는 열거 가능한 형식 이어야 합니다.Must be an enumerable type.
type 선택 사항입니다.Optional. element의 형식입니다.The type of element. 을 지정 하지 않으면 type 의 형식이 element 에서 유추 됩니다 collection .If no type is specified, the type of element is inferred from collection.
collection 필수 사항입니다.Required. 쿼리할 컬렉션을 참조 합니다.Refers to the collection to be queried. 는 열거 가능한 형식 이어야 합니다.Must be an enumerable type.

설명Remarks

From절은 쿼리의 소스 데이터와 소스 컬렉션의 요소를 참조 하는 데 사용 되는 변수를 식별 하는 데 사용 됩니다.The From clause is used to identify the source data for a query and the variables that are used to refer to an element from the source collection. 이러한 변수를 범위 변수 라고 합니다.These variables are called range variables. From Aggregate 이 집계 된 결과만 반환 하는 쿼리를 식별 하는 데 사용 되는 경우를 제외 하 고는 쿼리에 필요 합니다.The From clause is required for a query, except when the Aggregate clause is used to identify a query that returns only aggregated results. 자세한 내용은 Aggregate 절을 참조 하세요.For more information, see Aggregate Clause.

쿼리에 여러 절을 지정 From 하 여 조인할 여러 컬렉션을 식별할 수 있습니다.You can specify multiple From clauses in a query to identify multiple collections to be joined. 여러 컬렉션을 지정 하는 경우 이러한 컬렉션은 독립적으로 반복 되거나 관련 된 경우 조인할 수 있습니다.When multiple collections are specified, they are iterated over independently, or you can join them if they are related. Select절을 사용 하거나 또는 절을 사용 하 여 명시적으로 컬렉션을 조인할 수 있습니다 Join Group Join .You can join collections implicitly by using the Select clause, or explicitly by using the Join or Group Join clauses. 또는 여러 범위 변수와 컬렉션을 단일 절에 지정할 수 있으며 From , 각 관련 범위 변수와 컬렉션은 쉼표로 구분 됩니다.As an alternative, you can specify multiple range variables and collections in a single From clause, with each related range variable and collection separated from the others by a comma. 다음 코드 예에서는 절의 구문 옵션을 모두 보여 줍니다 From .The following code example shows both syntax options for the From clause.

' 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 .The From clause defines the scope of a query, which is similar to the scope of a For loop. 따라서 element 쿼리 범위의 각 범위 변수에는 고유한 이름이 있어야 합니다.Therefore, each element range variable in the scope of a query must have a unique name. 쿼리에 대해 절을 여러 개 지정할 수 있으므로 From 후속 From 절은 절의 범위 변수를 참조 From 하거나 이전 절의 범위 변수를 참조할 수 있습니다 From .Because you can specify multiple From clauses for a query, subsequent From clauses can refer to range variables in the From clause, or they can refer to range variables in a previous From clause. 예를 들어 다음 예에서는 From 두 번째 절의 컬렉션이 첫 번째 절에 있는 범위 변수의 속성을 기반으로 하는 중첩 절을 보여 줍니다.For example, the following example shows a nested From clause where the collection in the second clause is based on a property of the range variable in the first clause.

Dim allOrders = From cust In GetCustomerList()
                From ord In cust.Orders
                Select ord

From 절 뒤에는 쿼리를 구체화 하기 위한 추가 쿼리 절의 조합이 올 수 있습니다.Each From clause can be followed by any combination of additional query clauses to refine the query. 다음과 같은 방법으로 쿼리를 구체화할 수 있습니다.You can refine the query in the following ways:

  • 또는 절을 사용 하 여 명시적으로 또는 절을 사용 하 여 여러 컬렉션을 암시적으로 결합 From Select Join Group Join 합니다.Combine multiple collections implicitly by using the From and Select clauses, or explicitly by using the Join or Group Join clauses.

  • 절을 사용 Where 하 여 쿼리 결과를 필터링 합니다.Use the Where clause to filter the query result.

  • 절을 사용 하 여 결과를 정렬 합니다 Order By .Sort the result by using the Order By clause.

  • 절을 사용 하 여 비슷한 결과를 함께 그룹화 Group By 합니다.Group similar results together by using the Group By clause.

  • Aggregate전체 쿼리 결과를 평가 하는 집계 함수를 식별 하려면 절을 사용 합니다.Use the Aggregate clause to identify aggregate functions to evaluate for the whole query result.

  • 절을 사용 Let 하 여 해당 값이 컬렉션이 아닌 식에 의해 결정 되는 반복 변수를 도입 합니다.Use the Let clause to introduce an iteration variable whose value is determined by an expression instead of a collection.

  • 절을 사용 Distinct 하 여 중복 쿼리 결과를 무시 합니다.Use the Distinct clause to ignore duplicate query results.

  • ,, 및 절을 사용 하 여 반환할 결과의 일부를 식별 Skip Take Skip While Take While 합니다.Identify parts of the result to return by using the Skip, Take, Skip While, and Take While clauses.

예제Example

다음 쿼리 식에서는 절을 사용 하 여 From cust 컬렉션의 각 개체에 대해 범위 변수를 선언 합니다 Customer customers .The following query expression uses a From clause to declare a range variable cust for each Customer object in the customers collection. Where절은 범위 변수를 사용 하 여 지정 된 지역의 고객에 대 한 출력을 제한 합니다.The Where clause uses the range variable to restrict the output to customers from the specified region. For Each루프는 쿼리 결과에 있는 각 고객의 회사 이름을 표시 합니다.The For Each loop displays the company name for each customer in the query result.

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

참고 항목See also