ITmembers.net 아카이브 · 2002–2009

질문과 답변

[re] mysql에서 subselect 사용하는 방법이 있는지요?

>오라클강좌에 나오는 subselect기능을 mysql에서는 사용할 수
>없다는 것까지는 혼자서 확인했습니다.
> 손병목님께 너무 폐를 끼는 것 같아 웬만하면 다른 데서 해결해보려고
>여러 홈페이지를 돌아다니다가 결국 다시 여기와서 여쭤보게 되네요..
>php와 mysql로 뭘 좀 만들고 있는데..
>subselect문이 필요한 부분이 있습니다.
>조건두개를 조합하여 숨겨놓은 코드를 할당해서 사용하다가
>그걸로 해결하기 힘든 부분(정말로 subselect가 필요한 부분)이 생겨서
>mysql에서 subselect기능을 구현하는 방법을 여쭤봅니다.
>
>임시테이블을 만들어 1차 쿼리로 조회된 데이터를 저장하고,
>다시 쿼리를 날리면 될 것 같지만, 이런 이상한(?) 방법 말고
>제대로 된 방법이 있을 듯 해서 여쭤봅니다.
>귀찮으시더라도.... 시간나시는대로 답변 부탁드리겠습니다..
>
>좋은 하루 되시고, 환절기... 감기 조심하세요...(동주도...)
>

간단한 subselect 는 테이블에 저장할 필요없이 사용가능합니다.
예를들어....

$sub_result=mysql_query("SELECT max(no) FROM table");
$result=mysql_query("SELECT * FROM table WHERE no='".mysql_result($sub_result,0,0)."'");

같이 사용할 수 있습니다. 하지만 좀 그렇져.....

MySQL 4.1.x 버전부터는 서브쿼리(subselect)를 지원합니다.
EXISTS, IN, ALL, ANY 보조질의가 꼭 필요하시다면 버전업을
해보시는것도 좋겠죠.