하도 헷갈려서 정리


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이므로 이걸 기준으로 내림차순으로 하되 열개만 출력하도록 한다.






+ Recent posts