2010-05-13 3 views
8

다음 SQL 쿼리를 비슷한 LINQ 쿼리로 변환하는 방법은 무엇입니까? 이 같은LINQ에서 "Not In"SQL 쿼리를 작성하는 방법은 무엇입니까?

select * from Dept 
where Id not in (
    Select Id 
    from Employee 
    where Salary > 100); 
+1

또한, LinqPad 서면으로 도움이되는 편리한 도구이며 Linq를 테스트하면 또한 논리적 부정 사용할 수 있습니다이 경우 – CaffGeek

+0

조회 : 급여는 <= 100 Chad..ya @ –

+0

시도합니다 유용 보인다 @ CrazyJugglerDrummer 음, 좀 더 복잡한 작업을하려고합니다. 그렇지만이 경우에는 ...) ... – Vishal

답변

15

시도 뭔가 :이 방법에 대해

var result = from d in Dept 
      let expensiveEmployeeIds = (from e in Employee.Employees 
             where e.Salary > 100 
             select e.Id) 
      where !expensiveEmployeeIds.Contains(d.Id) 
      select d; 
0

?

var lowPaidEmps = from d in db.Dept 
        join e in db.Employees on d.Id equals e.Id 
        where e.Salary <= 100 
        select d; 
+2

이것은 논리적으로 동일하지 않습니다. 종업원이없는 부서를 상상해보십시오 (원본 쿼리는이 쿼리를 반환합니다). –

+0

내가 찾고있는 것을 기쁘게 생각합니다. – Rob

관련 문제