반응형

개념


한 번에 여러 테이블의 값을 추출할 수 있다.

 

 

문법


문법에 들어가기 앞서, 공통 테이블 예시

기본 문법

SELECT 테이블별칭.카운트별칭,테이블별칭.카운트별칭,테이블별칭.카운트별칭
     FROM
           ( select count(*) 카운트별칭 from 테이블명 조건(선택) ) 테이블별칭
        ,  ( select count(*) 카운트별칭 from 테이블명) 테이블별칭
        ,  ( select count(*) 카운트별칭 from 테이블명) 테이블별칭

 

예시 1.board 테이블 중 views(조회수)가 30 이상인 것, members 테이블 중 id가 1인 멤버를 카운트

SELECT a.views, b.beu
FROM (SELECT COUNT(*) views FROM board WHERE views > 30) a , 
	 (SELECT COUNT(*) beu FROM members WHERE id = 1) b

결과

 

예시 2.board 테이블의 총 조회수, 총 좋아요 수, members 테이블의 총 유저수를 카운트 

SELECT a.views_length,a.likes_length, b.user_length
FROM (SELECT SUM(views) views_length,SUM(likes) likes_length FROM board) a , 
	  (SELECT COUNT(*) user_length FROM members) b

결과


자주 나는 오류

/* SQL 오류 (1060): Duplicate column name 'spaceAll' */

SELECT `storage`.storageAll, host.hostAll

     FROM

           ( select sum(allca) spaceAll,sum(useca) spaceAll,sum(space) spaceAll from storageInfo) `storage`

        ,  ( select count(*) hostAll from hostInfo) host

 

이와 같이 별칭을 중복으로 쓰셔서 그렇습니다.

 

반응형

+ Recent posts