mysql join 문 사용하기
하도 헷갈려서 정리
select 결과로 출력될 테이블 설정 from 기준 테이블명 join 조인할 테이블명 on 조인할 조건 where 검색조건 order by 1 desc limit 10;
나눠서 보면
select 결과로 출력될 테이블 설정
from 기준 테이블명
join 조인할 테이블명 on 조인할 조건
where 검색조건 order by 1 desc limit 10;
예를 들면
select item.create_day, user.id, item.item_name item.amount from item join user on user.id=item.vid where item.create_day>='2013-08-07' and item.create_day <'2013-08-08' order by 1 desc limit 10; |
이러한 쿼리문을 풀어 써보면
select item.create_day, user.id, item.item_name item.amount from item
select item의 create_day, item_name, amount 칼럼과 user테이블의 id 칼럼을 보여줄건데 from 기준은 item 테이블
join user on user.id=item.vid
join 조인할 테이블은 user on 조인의 조건은 user 테이블의 id 칼럼과 item 테이블의 vid칼럼이 같은 것만 뽑아내고
(item 테이블의 vid 칼럼은 user 테이블의 id를 참조하고 있는 상태)
where item.create_day>='2013-08-07' and item.create_day <'2013-08-08'
where 검색 조건은 item 테이블의 create_day 칼럼(생성날짜)에서 2013년 8월 7일부터 8월 8일 전까지만 뽑아낸다.
order by 1 desc limit 10;
order by (정렬) 1 (첫번째 칼럼으로) desc (내림차순) limit (제한) 10(열 개만) ;
이런 뜻으로 select 다음에 처음으로 온 칼럼이 item.create_day이므로 이걸 기준으로 내림차순으로 하되 열개만 출력하도록 한다.
'지식메모 > MySQL' 카테고리의 다른 글
mysql not in 사용해서 차집합 검색하기 (0) | 2013.11.26 |
---|---|
최근 기간 내에 데이터 검색하기 (시간,기간 검색) (2) | 2013.10.14 |
MySQL 캐릭터 셋 한글로 바꾸기 (0) | 2013.07.22 |
내가 자주 쓰는 MySQL 명령어 (0) | 2013.07.22 |
MySQL 테이블 스키마 보기 (0) | 2013.07.22 |