How to compare two tables that have no primary key?
this is a start  

select table1.*, table2.*
from table1 
full outer join table2 
 on table1.EmployeeID   = table2.EmployeeID 
and table1.AssignmentID = table2.AssignmentID 
where table1.EmployeeID is null or table2.EmployeeID is null 
order by isnull(table1.EmployeeID, table2.EmployeeID) 


But that order by may break the outer so if you get no rows remove it 

Note this data does not appear to be properly normalized.  This would allow for the same EmployeeID with different name. It is odd that dependent is dependent on assignmentID. If you are going to clean it up then consider improving the data design.     

Pick one to fix (add missing data) in the case table1   

Then go after data the does not match  

select t1.*, t2.*
from table1 t1 
join table2 t2
  on t1.EmployeeID   = t2.EmployeeID 
 and t1.AssignmentID = t2.AssignmentID 
 and (    t1.DependentLastName &lt;  t2.DependentLastName 
       or t1.DependentLastName is null 
       or t2.DependentLastName is null )
left table2 t2b 
  on t1.EmployeeID        = t2b.EmployeeID 
 and t1.AssignmentID      = t2b.AssignmentID 
 and t1.DependentLastName = t2b.DependentLastName
where t2b.EmployeeID is null