어떻게 JOINS를 사용하도록 변환합니까?어떻게 이것을 사용하여 JOINS를 사용합니까?
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name, j.time_added, j.active, j.moderated
FROM jobs j, advertisers a
WHERE a.advertiser_id = j.advertiser_id
어떻게 JOINS를 사용하도록 변환합니까?어떻게 이것을 사용하여 JOINS를 사용합니까?
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name, j.time_added, j.active, j.moderated
FROM jobs j, advertisers a
WHERE a.advertiser_id = j.advertiser_id
당신은 같은 조인으로 그것을 쓸 수 있습니다 : 여기
SELECT *
FROM jobs j
JOIN advertisers a
ON a.advertiser_id = j.advertiser_id
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name, j.time_added, j.active, j.moderated from
jobs j join advertisers a
on a.advertiser_id = j.advertiser_id
가 정교하게 연결하는 몇 가지 예는 다음과 같습니다
귀하의 예 그러나 내부 JOIN-, 당신은 여기에 "암시 적 조인 표기법"을 사용하면 명시 적으로 다음과 같이 표기 할 수 있습니다.
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name,
j.time_added, j.active, j.moderated
FROM jobs j
INNER JOIN advertisers a
ON j.advertiser_id = a.advertiser_id
원하는 결과에 따라 대신 OUTER JOIN을 사용할 수 있습니다. INNER JOIN과의 차이점은 INNER JOIN은 다른 테이블에 일치하는 레코드가있는 레코드 만 찾습니다. 반대로 OUTER JOIN을 사용하면 작업 테이블이나 광고주 테이블의 레코드가 다른 테이블에 해당 레코드가없는 경우 표시되도록 지정할 수 있습니다. 에 관계없이의
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name,
j.time_added, j.active, j.moderated
FROM jobs j
LEFT OUTER JOIN advertisers a
ON j.advertiser_id = a.advertiser_id
이 쿼리는하지만, 광고주 테이블의 모든 레코드를 찾을 수 :
이 예에서, 쿼리는 광고주 테이블에서 일치에 관계없이 작업 테이블의 모든 레코드를 찾을 수 작업 표에서 일치 :
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name,
j.time_added, j.active, j.moderated
FROM jobs j
RIGHT OUTER JOIN advertisers a
ON j.advertiser_id = a.advertiser_id
왼쪽 또는 오른쪽은 '='테이블의 어느쪽에 해당하는지 나타냅니다.
완전 외부는 경기에 관계없이 각 테이블의 모든 레코드를 반환합니다 가입 : 별이 (``SELECT *) 것을
SELECT j.job_id, j.name AS job_name, a.name AS advertiser_name,
j.time_added, j.active, j.moderated
FROM jobs j
FULL OUTER JOIN advertisers a
ON j.advertiser_id = a.advertiser_id
참고 대답의 간결하고 당신은 여전히에서 선택된 모든 열을 명시해야 귀하의 응용 프로그램 (귀하의 질문에 -'선택 j.job_id AS job_name, ... '). – soulmerge