서브 쿼리 (Sub query)¶
서브 쿼리를 위한 함수는 2개가 준비되어 있습니다.
$this->qb->startSubQuery()
이 함수는 서브 쿼리를 시작하기 위하여 반드시 호출되어야 합니다.
$this->qb->endSubQuery()
이 함수는 서브 쿼리를 얻기 위하여 호출합니다.
Select¶
$this->qb ->select($this->qb ->startSubQuery('name') ->select('name') ->from('myTable') ->where('id', 'memberTable.id', false) ->endSubQuery() , false) ->from('memberTable') ->where('id', 1) ->exec(); // Produces: // // SELECT (SELECT `name` // FROM `myTable` // WHERE id = memberTable.id) AS name // FROM `memberTable` // WHERE `id` = 1
Where¶
$this->qb ->select('name') ->from('memberTable') ->where('id in ', $this->qb ->startSubQuery() ->select('id') ->from('myTable') ->where('id > ', 100) ->endSubQuery(), false ) ->exec(); // Produces: // // SELECT `name` // FROM `memberTable` // WHERE id in (SELECT `id` // FROM `myTable` // WHERE `id` > 100)