programing

필드에 $x가 포함되지 않는 SQL 쿼리

firstcheck 2022. 9. 26. 21:51
반응형

필드에 $x가 포함되지 않는 SQL 쿼리

field1에 $x가 포함되지 않은 행을 찾기 위한 SQL 쿼리를 찾고 싶습니다.이거 어떻게 해?

이게 무슨 분야야?IN 연산자는 단일 필드와 함께 사용할 수 없지만 하위 쿼리 또는 사전 정의된 목록과 함께 사용할 수 있습니다.

-- subquery
SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y);
-- predefined list
SELECT a FROM x WHERE x.b NOT IN (1, 2, 3, 6);

문자열을 검색하는 경우 LIKE 연산자를 찾습니다(단, 이 작업은 느립니다).

-- Finds all rows where a does not contain "text"
SELECT * FROM x WHERE x.a NOT LIKE '%text%';

검색할 문자열이 지정된 문자열로 시작되도록 제한하면 인덱스를 사용할 수 있으며(이 필드에 인덱스가 있는 경우) 상당히 빠릅니다.

-- Finds all rows where a does not start with "text"
SELECT * FROM x WHERE x.a NOT LIKE 'text%';

SELECT * FROM table WHERE field1 NOT LIKE '%$x%';(SQL 주입을 피하려면 사전에 $x를 올바르게 이스케이프하십시오.)

편집:NOT IN질문이 명확하지 않으니 어떤 질문을 사용할지 선택하세요. LIKE 'xxx%'인덱스를 사용할 수 있습니다. LIKE '%xxx'또는LIKE '%xxx%'못한다.

언급URL : https://stackoverflow.com/questions/232935/sql-query-where-field-does-not-contain-x

반응형