본문 바로가기

공부방/JAVA

mysql - 2일차

데이터 형식

[TEXT 형식]
TEXT : 1 ~ 65535 바이트
LONGTEXT :

 

 

 

 

Join


join의 명령어 형태는 아래와 같다.

select *
    from [테이블1]
        inner join [테이블2]
        on [조인 조건]
    where [검색 조건]

 

Group by 의 조건을 Having에 명시해 주는 것과 같이

join의 조건은 on절에 명시를 해주면 된다.

 

join의 종류는 4가지가 존재한다.

Inner Join, Left outer join, Right outer join, Full outer join

한개씩 차근차근 살펴보도록 하자.

 

 

Inner Join


앞서 예시로 보여주었던 명령어가 inner join에 대한 것이었다.

select *
    from [테이블1]
        inner join [테이블2]
        on [조인 조건]
    where [검색 조건]

 

아래와 같이 2개의 테이블이 존재할 때 (buy, member)

mem_id 값을 이용하여 inner join을 이하게되면 어떤 결과가 발생하는지 살펴보도록 하자.

buy 테이블
member 테이블

 

[명령어]

select M.mem_id, M.mem_name, B.prod_name, M.addr, CONCAT(M.phone1, M.phone2) '연락처' 
from buy B
    inner join member M
    on B.mem_id = M.mem_id;

CONCAT을 활용하여 폰번호 두개를 연결해 주었으며,

buy를 B로 member를 M으로 별칭을 주어 쿼리문을 간략하게 사용할 수 있도록 하였다.

 

 

[결과]

결과는 아무런 이상이 없이 잘 나왔지만, 

구매를 한 적이 없는 itzy에 대한 정보는 나타나지 않는 것을 볼 수 있다.

 

Inner join이 교집합이기 때문에 구매 목록이 존재하지 않는 팀은 결과에 나타나지 않는 것이다.

 

한쪽에만 존재하더라도 결과가 나타나 게 하는 Outer join에 대하여 알아보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'공부방 > JAVA' 카테고리의 다른 글

디자인 패턴 - 옵저버 패턴  (0) 2022.07.14
디자인 패턴 - strategy pattern  (0) 2022.07.11
mysql  (0) 2022.07.07
Map, Hash table  (0) 2022.06.19
일급 컬렉션  (0) 2021.08.15