gambae programing
다수의 테이블 제어하기 본문
1. 데이터 그룹 짓기
group by : 원하는 데이터끼리 그룹화하는 명령어
select user_id,count(*) // 검색할 컬럼
// count(user_id)를 안쓰는 이유는 group by의 기준 컬럼이 나타나야하기 때문이다
// count 이외에도 sum,avg,max,min 을 사용할 수 있다
from rental
group by user_id; // 그룹의 기준 컬럼
2. 데이터 그룹에 조건 적용하기
having : 데이터 그룹에 조건을 적용하여 검색하는 명령어로, group by와 함께 사용
select user_id,count(*)
from rental
group by user_id
having count(user_id) > 1; // rental 테이블에서 user_id가 같은 2개 이상의 데이터가 몇 개 있는지 검색
3. 두개의 테이블에서 조회하기
inner join : 두 테이블의 정보를 한 번에 조회하는 명령어 (두 테이블 중 겹치는 부분만 출력)
select *
from rental
inner join user;
4. 조건을 적용해 두개의 테이블 조회하기
on : 조건을 적용해 두 개의 테이블을 조회할 때 사용하는 명령어
select *
from rental
inner join user;
on user.id = rental.user_id; // rental 테이블과 user 테이블의 정보 중 user_id가 같은 것끼리 연결
5. left join & right join
left join : 왼쪽 테이블의 모든 값을 포함하여 연결하는 명령어로, 왼쪽 데이터와 겹치는 부분을 출력
select *
from user
left join rental // 연결할 테이블
on user.id = rental.user_id; // user테이블을 모두 출력하되 모든 user테이블의 id와 rental테이블의 user_id가 겹치도록 합친다.
right join : 오른쪽 테이블의 모든 값을 포함하여 연결하는 명령어로, 오른쪽 데이터와 겹치는 부분 출력
select *
from user
right join rental // 연결할 테이블
on user.id = rental.user_id; // rental테이블을 모두 출력하되 모든 rental테이블의 user_id와 user테이블의 id가 겹치도록 합친다.
'Database > Sql' 카테고리의 다른 글
1. DataBase 기본 용어 (0) | 2022.06.28 |
---|---|
서브쿼리 (0) | 2022.04.28 |
Sql과 함수 (0) | 2022.04.25 |
데이터를 제어하는 DML (0) | 2022.04.25 |
Sql 시작하기 (0) | 2022.04.25 |