데이터를 그룹 지어 표현할 때는 gorup by 를 사용한다. 전에 배운 max, min, sum 등과 같이 사용하게 되는 경우가 많다.
select user_id, count(*) from rental group by user_id;
책을 2권 이상 빌린 사람이 누구 인지 보고 싶다 라던가 조건이 생기게 되면 having을 사용하면 된다.
select user_id, count(*) from rental group by user_id having count(user_id) > 1;
-- 다음과 같이 group by 뒤에 붙여서 조건으로 사용한다.--
두 테이블의 교집합 만을 보여준다.
select * from rental inner join user on user.id = rental.user_id;
위와 같은 경우 user 테이블의 id와 rental 테이블의 user_id가 같은 것들만 보여주게된다.
왼쪽(즉 from 뒤에 적혀있는 테이블을 기준으로 두 테이블을 한번에 조회한다.)
select * from rental left join user on user.id = rental.user_id;
오른쪽(즉 jon 뒤에 적혀있는 테이블을 기준으로 두 테이블을 한번에 조회한다.)
select * from rental right join user on user.id = rental.user_id;