2013-03-07 2 views
1

나는 다음과 같은 테이블이 가정 :mysql에서 다음 조인을 수행하는 방법은 무엇입니까?

TABLEA을

id|first_name|sport 
1 | alice | swimming 
2 | bob | basketball 
3 | casey | baseball 

TableB의

name | hobby 
alice | running 
bob | null 

내가 TABLEA와 유사하지만의 추가 열이있는 출력 테이블 싶어 :

id | first_name | sport | theirhobby 
1 | alice | swimming | running 
2 | bob | basketball | null 
3 | casey | baseball | null 

열의 이름은 fo r 이름은 tableA에서 유지되며 tableA에 추가 된 유일한 새로운 열은 취미입니다.

답변

3
SELECT a.ID, a.first_name, a.sport, 
     b.hobby 
FROM tableA a 
     LEFT JOIN tableB b 
      ON a.first_name = b.name 

더 조인에 대해 친절하게 아래 링크를 방문하여 더 많은 지식을 얻을 수 :

+0

명시 적으로 TABLEA에서 모든 열 이름을 지정하지 않고 TableB의에서 하나 개의 컬럼을 추가 할 수있는 방법이 있나요 폴리스의 도움을 희망 하시다면 PHP 코드를 구현? – Setsuna

+0

@SeiSeiei는'SELECT *'을 사용한다.'*'를 사용할 때의 단점은 두 테이블 모두에 존재하는 컬럼 이름이있을 때이다. 모호성이 발생하거나 일치하지 않는 경우 첫 번째 테이블의 열만 표시되고 동일한 이름을 가진 다른 테이블의 다른 열은 무시됩니다. –

+0

a. *, b.hobby ...를 선택하면 tablename. *을 사용할 수 있습니다. 단일 테이블에서 모든 열을 선택하려면 – WhiteboardDev

0

이 희망 u는 점에서 데이터가 필요를 위에서 언급 한 형식이 아닙니다. 테이블. 유

물었다처럼 여기 내가 데이터를 얻기 위해 쿼리를 언급 한

왼쪽이 ON table2 B 가입 table1에서 선택 a.id, a.first_name, a.sport, b.hobby a.first_name = b.name

은 다음 UR에 ​​phpMyAdmin에서 위의 쿼리를 실행 이

관련 문제