gambae programing

다수의 테이블 제어하기 본문

Database/Sql

다수의 테이블 제어하기

gambae 2022. 4. 26. 13:16

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
Comments