다수의 테이블 제어(group by, having, join)

highway92·2021년 9월 14일
0

SQL

목록 보기
4/11

1. 데이터 그룹 짓기(group by)

데이터를 그룹 지어 표현할 때는 gorup by 를 사용한다. 전에 배운 max, min, sum 등과 같이 사용하게 되는 경우가 많다.

예시


select user_id, count(*) from rental group by user_id;

2. group by 에 조건 추가하기(having)

책을 2권 이상 빌린 사람이 누구 인지 보고 싶다 라던가 조건이 생기게 되면 having을 사용하면 된다.

예시

select user_id, count(*) from rental group by user_id having count(user_id) > 1;

-- 다음과 같이 group by 뒤에 붙여서 조건으로 사용한다.--

3. 두 개의 테이블에서 조회하기(join)

1. inner join

두 테이블의 교집합 만을 보여준다.

select * from rental inner join user on user.id = rental.user_id;

위와 같은 경우 user 테이블의 id와 rental 테이블의 user_id가 같은 것들만 보여주게된다.

2. left join

왼쪽(즉 from 뒤에 적혀있는 테이블을 기준으로 두 테이블을 한번에 조회한다.)

select * from rental left join user on user.id = rental.user_id;

3. right join

오른쪽(즉 jon 뒤에 적혀있는 테이블을 기준으로 두 테이블을 한번에 조회한다.)

select * from rental right join user on user.id = rental.user_id;
profile
웹 개발자로 활동하고 있습니다.

0개의 댓글