두 개의 테이블이 있습니다
시간표:
scheduleID DriverID ScheduleDate
11 1 2015-05-20
22 2 2015-05-20
33 NULL 2015-05-21
44 NULL 2015-05-21
과
종업원:
ID Fname Lname
1 jack miller
2 kelly moore
3 mark sam
4 tom hanks
ScheduleDate를 기반으로이 두 테이블에서 선택하고 Employee 테이블의 드라이버 전체 이름을 표시하고 null 열을 표시하고 싶습니다.
결과는 다음과 같아야합니다.
scheduleID Fname Lname
33 NULL NULL
44 NULL NULL
나는 사용했다 :
select row_number() over (order by scheduleID desc) as schedule, scheduleID, Driver_ID,FirstName,LastName
From Schedule, Employee
where scheduleDate= '2015-05-21' AND EmployeID=Driver_ID;
"scheduleDate = '2015-05-20'"인 경우 잘 작동합니다.
하지만 null 열도 표시해야합니다! 도와주세요!
이를 left join
위해 필요합니다 -왜 암시 적 join
구문을 사용하지 말아야하는지 강조하기 만하면 됩니다. 간단한 규칙 : 항상 명시적인 join
구문을 사용하십시오 . from
절에 쉼표를 사용하지 마십시오 .
select row_number() over (order by scheduleID desc) as schedule, scheduleID,
Driver_ID, FirstName, LastName
From Schedule left join
Employee
on EmployeID = Driver_ID
where scheduleDate = '2015-05-21';
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다