1. outer join
■ 내부조인: 일치하는 레코드만 추출
■ 외부조인: 일치하지 않더라도 모든 레코드 표시
left join - 왼쪽 테이블에 있는 레코드를 모두 포함해서 표시
right join - 오른쪽 테이블에 있는 레코드를 포함해서 표시
left, right join의 기능은 동일하다. 편한 것 사용하면 된다.
select 컬럼명 from 기준 테이블명
(left | right) join 테이블명
on 테이블명.컬럼명 = 테이블명.컬럼명
▶left는 기준테이블의 data를 모두 추출, right는 join한 테이블의 data를 모두 추출한다.
left join 사용예시)
select b.no, b.name, b.ban, a.age from userban b left join userinfo a on a.no=b.no;
left join = 왼쪽 보장
▶userban의 data는 모두 추출되고 조건에 맞는 userinfo의 data가 있으면 같이 join되서 출력 된다.
right join 사용예시)
select b.no, b.name, b.ban, a.age from userinfo a right join userban b on a.no=b.no;
▶userban의 dtaa는 모두 추출되고 조건에 맞는 userinfo의 data가 있으면 같이 join되서 출력 된다
2. repeat 함수
나중에 사용자에게 data를 보여줄 때 모두 보여주지 않고 일부만 보여 줄 때 유용한 방법이다.
예를 들어, id 조회시 어떤 사이트는 모든 id를 보여주는 것이 아니라 사용자에게 일부만 보여준다.
concat은 문자열 연결해주는 함수고, repeat은 무엇을 얼마만큼 반복해서 출력해주는 함수이다.
저번에 mysql 배울 때 못 풀었던 문제였는데, 오늘 인터넷으로 mysql avg 함수 검색하다가 블로그에 repeat함수도 나와 있어서 못 푼문제 갑자기 생각나서 풀어보았다.
repeat(문자, 반복횟수)
▶문자를 반복횟수 만큼 반복해서 출력
문제 못풀어서 찝찝(?)했었는데 해결하니 기분이 넘 좋았다 >.<
'배운 내용 정리 > MYSQL' 카테고리의 다른 글
rownum (0) | 2020.03.05 |
---|---|
날짜함수, 카운트, 집계함수 (0) | 2020.01.27 |
[학습정리] 2020.01.14 - inner join (0) | 2020.01.15 |
[학습정리] 2020.01.10 - having (0) | 2020.01.11 |
[학습정리] 2020.01.09 - case, if, group by (0) | 2020.01.10 |