Skip to the content.

ORA-01795: maximum number of expressions in a list is 1000 error

SQL에 IN 안의 갯수가 1000개가 넘음

  1. 해당 SQL에 IN 안의 갯수가 1000개가 넘었는지 확인

  2. 1000개가 넘는다면 여러번으로 나누는 것도 가능
     SELECT * FROM table_name WHERE column_name IN (1, 2, 3 ... 999, 1000) OR column_name IN (1001, 1002 ... 1999, 2000);
    
  3. EXISTS를 활용
     SELECT * FROM table_name_A
     WHERE
       EXISTS (
         SELECT 'X' FROM table_name_B WHERE table_name_A.column_name = table_name_B.column_name
       );