2010-08-01 3 views
3

ID 목록이 있고 SQL 데이터베이스에 해당 ID가있는 행이 있는지 확인합니다. 데이터베이스에 아직 표시되지 않은 ID 목록의 하위 집합을 다시 가져올 수있는 단일 SQL 명령이 있습니까? 내 코드에서 각 ID를 반복하고 각 ID에 대해 별도의 SQL 검사를 실행할 수는 있지만 비효율적이라고 할 수 있습니다.SQL : 어떤 ID가 이미 존재하는지 확인합니다.

나는 이것을 sqlite 데이터베이스에 대해 시도하고있다. 감사!

답변

3

시도 후 테이블에 ID를 삭제하고 :

SELECT C.id 
FROM checkids C 
LEFT JOIN mytable M 
ON M.id = C.id 
WHERE M.id IS NULL 
0

당신은 IN 연산자를 사용할 수 있습니다; 예를 들어, 1, 2, 8 및 42 ID를 테스트하려면 다음을 수행하십시오.

SELECT id 
FROM tbl 
WHERE id IN (1, 2, 8, 42);
관련 문제