쿼리 모음 1 - count 시 0 포함, depth join, group_concat
count 시 0 포함하는 쿼리 호출하고 싶은 모든 기준 정보를 가지고 있는 테이블 A와 카운트를 가져올 테이블 B를 join 물론 테이블 A와 테이블 B는 같은 테이블일 수 있음SELECT a.기준필드, COUNT(b.기준필드)FROM 테이블A aLEFT OUTER JOIN (SELECT * FROM 테이블B WHERE 조건) bON (a.기준필드 = b.기준필드)WHERE a 테이블 조건GROUP BY a.기준필드ORDER BY a 테이블 조건 depth join depth를 가진 데이터는 inner join으로 데이터를 가져옴 id = 1, depth = 1, parent_id = nullid = 2, depth = 2, parent_id = 1id = 3, depth = 3, parent_id = 2id = 4, depth = 3, parent_id = 2SELECT one.id, two.id, three.idFROM 테이블 oneINNER JOIN 테이블 two ON one.id = two.parent_idINNER JOIN 테이블 three ON two.id = three.parent_id group concat group by는 기준필드 및 집계함수만 select가 가능하지만 group concat을 쓰면 다른 필드의 데이터 집합을 횡렬로 출력 가능 SELECT 기준필드, count(기준필드), GROUP_CONCAT(일반필드)FROM 테이블WHEREGROUP BY 기준필드 group concat은 join + group by 최상위 depth와도 사용 가능하다. -> 조인한 하위 테이블들의 데이터가 횡렬로 출력됨