2014-11-07 3 views
1

우리는 대부분의 학교 번호가 첨부 된 사용자 테이블을 가지고 있습니다. 그런 다음 Inner Join을 사용하여 학교의 테이블에 가입하여 학교 이름을 알아 냈습니다. 일부 사용자에게는 학교 번호가 없으므로 NULL 값이 표시됩니다. 즉, 데이터가 표시되지 않습니다. 학교 신입장에 따라 조건부 가입을 할 수있는 방법이 있습니까?조건 SQL 가입

사용자 테이블 :

Name | Schoolid 
-----|--------- 
John | 27 
Fred | 49 
Sam | NULL 

학교 테이블 : 결과가

Name | Schoolname 
-----|----------- 
John | John's School 
Fred | Fred's School 

을있는 테이블이 Schoolid에 가입되어

Schoolid | Schoolname 
----------|----------- 
27  | John's School 
49  | Fred's School 

은 이상적으로는 결과가보고 싶습니다 좋아요 :

Name | Schoolname 
-----|----------- 
John | John's School 
Fred | Fred's School 
Sam | NULL 

아무도 도와 줄 수 있습니까? 그것은 단순한 것이고 나는 단지 바보가되는 것입니까?

감사합니다.

+3

'LEFT OUTER JOIN'일까요? –

+0

왜 'OUTER'입니까? 나는 그냥 왼쪽 조인으로 갈거야. 괜찮 니? – Horaciux

답변

3

외부 연결을 찾고 있습니다.

예. 다른 SQL 언어를 사용하는 경우에도, 좀 더 명확하게 수있는 몇 가지 예제와 함께

select * from Users left outer join School on Users.Schoolid = School.Schoolid 

Microsoft has an article

.

+0

왼쪽 가입으로 충분합니다. – jewelnguyen8

0
SELECT * 
FROM Users u 
LEFT OUTER JOIN School s ON u.Schoolid = s.Schoolid 

또는 심지어.

SELECT * 
FROM Users u 
FULL OUTER JOIN School s ON u.Schoolid = s.Schoolid 
+0

왜'full'입니까? OP는 학생들이없는 학교 이름을 요청하지 않습니다. – Horaciux