21

배승원·2024년 1월 31일

공부

목록 보기
15/38

gtoup by

  • Java의 Stream를 이용한 선언적인 프로그래밍을 할 수 있다. 특히나 groupingBy 메서드를 통해서 데이터를 가공,집계하는데 많이 사용한다.

  • groupingBy는 영어 그대로에서도 알 수 있듯이, 특정 속성(property)값에 의해서 그룹핑을 짓는 것이다. 그렇기 때문에 결과값으로 항상 Map<K, V> 형태를 리턴하게 된다. SQL문에서도 사용하는 group by 를 생각하면 더 쉽게 이해할 수 있다.

    groupingBy 메서드는 최대 3가지 파라미터를 받는 메서드들로 구성되어 있다.

    classifier (Function<? super T,? extends K> ): 분류 기준을 나타낸다.
    mapFactory (Supplier) : 결과 Map 구성 방식을 변경할 수 있다.
    downStream (Collector<? super T,A,D>): 집계 방식을 변경할 수 있다.

sql inner join

  • 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.
    INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
    OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
    CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
    SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.

select xx() 중첩

select xx() 중첩 기본

group_concat()

  • MySQL에서 group by 로 문자열을 합칠땐 group_concat 을 이용한다.1. 기본형 : group_concat(필드명)2. 구분자 변경 : group_concat(필드명 separator '구분자')3. 중복제거 : group_concat(distinct 필드명)4. 문자열 정렬 : group_concat(필드명 order by 필드명)

0개의 댓글