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

+ Recent posts