C#/C#기초

13.Linq

공부를하자 2023. 5. 24. 23:09

1.Linq

 1)정의

 -C#언어에서 통합된 데이터 질의 기능

 -데이터 작업의 효율을 향상

 -데이터 질의란 데이터 집합에서 원하는 데이터를 찾는 직업

  -데이터 질의 요소

 

 

 

 

2)from

  - 사용할 데이터 원본과 요소(범위 변수) 지칭할 쓰는

  - from<범위 변수> in<데이터 원본>형식으로 사용

  - IEnumerable<T> 인터페이스를 상속하는 형식만 가능

3)where

 -찾고자 하는 데이터를 걸러내는 조건식 역할

 - where 범위 변수 조건식

 -범위변수가 충족하는 조건을 매개변수로 입력

4)orderby

 -걸러진 데이터를 정렬 하는 역할

 -orderby 범위변수

 -범위변수 뒤에 아무거나 쓰지않거나 ascending 붙이면 오름차순,

   descending(내림차순)으로 정렬,

5)Select

 -최종 결과를 추출하는 마침표 역할

 -IEnumerable<T> 반환

 -걸러내고 정렬된 데이터 자체를 반환하거나 데이터의 데이터요소를 반환

  -select (범위변수 or 범위변수의  데이터 요소)

 

6)예시

 

 

 *무명형식 사용 가능

 

*여러 개의 원본데이터 질의

 

 

 

6)group by

-특정 기준으로 데이터를 분류할 사용

-group A(범위변수) by B(조건식(분류 기준)) into C(그룹변수(분류된 두가지 데이터를 가지고있다))

 

 

 

 

 

 

 

7)join

- 가지 데이터를 연결하는

-특정 변수 값을 비교하여 일치하는 데이터를 연결한다.

 

-내부조인(inner join): 데이터를 사이에 일치하는 데이터를 반환(교집합)

 

 

  from a(범위변수) in A(데이터 원본)

  join b(연결변수) in  B(데이터 원본2) on  a.xxx(범위변수의 데이터)equals b.xxx(연결 변수의  데이터)

 

 

 

 

-외부조인(outer join) : 데이터를 기준으로 잡고 다른 데이터와 결합하여 반환

  *내부조인 연산에서 임시컬렉션 저장 DefaultIfEmpty 연산을 수행한다.

 

 

  from a(범위변수) in A(데이터 원본)

  join b(연결변수) in  B(데이터 원본2) on  a.xxx(범위변수의 데이터)equals b.xxx(연결 변수의  데이터)

 from b(연결변수)  in ps. DefaultIfEmpty( new b(연결변수)( ){  b.xxx = value }

 

 

 

'C# > C#기초' 카테고리의 다른 글

15.dynamic형식  (0) 2023.06.03
14.리플렉션과 애트리뷰트  (0) 2023.05.31
12.람다식  (0) 2023.05.23
11.대리자와 이벤트  (0) 2023.05.22
10.예외 처리하기  (0) 2023.05.21