[SQL] , 허용 널 (null)을 하나 개의 테이블에있는 모든 항목을 선택하고 다른 테이블과 조인
SQL, 허용 널 (null)을 하나 개의 테이블에있는 모든 항목을 선택하고 다른 테이블과 조인
나는 테이블 조류 (기본적으로 모든 새)에서 모든 값을 선택하는 요구 사항을 가지고 있고, 그 새를 좋아하는 사람 추적 다른 테이블에 합류.
내가 원하는 그래서 쿼리는 모든 새를 반환하고 기록의 ID에 어디에 새 같은 사람. 이 새를 좋아하는 사람에 대한 기록이없는 경우에, 그 필드는 null한다.
나의 현재 쿼리는 널 (null)을 받고 있지 않습니다. 여기있어:
select bird_name, member_id
from birds
right join bird_likes on birds.bird_id = bird_likes.bird_id
where member_id = 2 ;
내가이 새 테이블에 있는지 각 행은 한 번 표시지고 만들기 위해 할 수 있을까?
해결법
-
==============================
1.당신은 가입 대신 오른쪽에 가입 왼쪽 사용해야합니다
당신은 가입 대신 오른쪽에 가입 왼쪽 사용해야합니다
내부 조인 : 두 테이블에 데이터가있을 경우에만 행을 유지
왼쪽 테이블의 모든 행을 유지하고 올바른에서 무엇이 가능한지 추가 : 왼쪽 가입
오른쪽 테이블의 모든 행을 유지하고 왼쪽 하나에서 무엇이 가능한지 추가 : 바로 가입
왼쪽 표는 항상 우리가 이미 가지고있는 테이블 오른쪽 표는 우리가 가입하고있는 것입니다.
기록을 위해,이 또한 크로스 오른쪽 테이블의 각 행과 왼쪽 테이블의 각 행을 조인하는 조인, 그러나 이것은 매우 자주 사용되지 않습니다.
나는이 지금 당신을 위해 명확하게 모든 희망 :)
select bird_name, member_id from birds left join bird_likes on birds.bird_id = bird_likes.bird_id where member_id = 2;
그렇지 않으면 당신은 다음과 같은 조건을 유지할 수 있습니다,이 열 MEMBER_ID가 새 테이블에 있다고 가정합니다주의하십시오 :
select bird_name, member_id from birds left join bird_likes on birds.bird_id = bird_likes.bird_id and bird_likes.member_id = 2;
-
==============================
2.이 경우 가입 왼쪽 외부를 사용하려면
이 경우 가입 왼쪽 외부를 사용하려면
select bird_name, member_id from birds left outer join bird_likes on birds.bird_id = bird_likes.bird_id where member_id = 2;
이 빈 취향을 가진 사람을위한 모든 새 이름과 '널 (null)'를 반환합니다.
-
==============================
3.
SELECT bird_name, member_id FROM birds LEFT JOIN bird_likes ON birds.bird_id=bird_likes.bird_id AND member_id=2
-
==============================
4.당신의 오른쪽에서 왼쪽 조인에 가입 변경, 그것은 그들이 bird_likes에 관계가 있는지 여부를 모든 새 기록에 나타납니다
당신의 오른쪽에서 왼쪽 조인에 가입 변경, 그것은 그들이 bird_likes에 관계가 있는지 여부를 모든 새 기록에 나타납니다
from https://stackoverflow.com/questions/5265350/selecting-all-items-in-one-table-and-join-with-another-table-allowing-nulls by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL 작업이 성공적으로 실행 여부를 C #의 여부를 확인하는 (0) | 2020.07.12 |
---|---|
[SQL] 사용 LEFT 조인 할 때 어떻게이 스크립트는 테이블을 갱신한다? (0) | 2020.07.12 |
[SQL] 여러 삽입 SQL 오라클 (0) | 2020.07.12 |
[SQL] MySQL의에서 선택 동적 열 (0) | 2020.07.12 |
[SQL] SQL 서버 2008 크로스 탭 쿼리 (0) | 2020.07.12 |