오늘은 공부 중/DB

[mysql] 특정 값 제외 검색

이도토리 2021. 9. 8. 13:14

 

https://tnsgud.tistory.com/671

 

Mysql select 조회시 특정값 제외, 포함 검색 및 LIKE NOT 활용

Mysql select 조회시 특정값 제외, 포함 검색 및 LIKE NOT 활용 데이터를 조회하는 select 쿼리 조건절 부분을 간단히 정리합니다. 데이터베이스에 존재하는 데이터 중에서 원하는 부분을 조회 하기 위

tnsgud.tistory.com

https://webisfree.com/2014-01-28/[mysql]-%ED%95%84%EB%93%9C%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95%EB%AC%B8%EC%9E%90-%ED%8F%AC%ED%95%A8-%EB%98%90%EB%8A%94-%EC%A0%9C%EC%99%B8%ED%95%9C-db-%EA%B2%80%EC%83%89-like-not 

 

[MySQL] 필드에서 특정문자 포함 또는 제외한 DB 검색, LIKE ,NOT

MySQL 뿐만 아니라 다른 쿼리 언어에서도 가장 많이 사용되는 것이 아마 데이터 조회에 사용되는 select문일 것입니다.. 이 select문을 가장 많이 사용되면서 간단하지만 반대로 가장 어려울 수도 있

webisfree.com

 

 

0. 조건 일치 => WHERE column = "value"

0.5 조건 불일치 => WHERE not column = "value"

 

1. 조건 포함 => like "%value%"

SELECT * FROM table_name WHERE column_name LIKE "%value%";

 

앞만 무시하거나 뒤만 무시하는 쿼리입니다.
SELECT * FROM tablename WHERE who LIKE "%me"; ㅣ
// 앞에 문자에 상관없이 me를 가진 텍스트 검색

SELECT * FROM tablename WHERE who LIKE "me%"; 
// 뒤에 문자에 상관없이 me를 가진 텍스트 검색

 

2. 복합 조건 포함 => like "%value%value2%"

SELECT * FROM table_name WHERE column_name LIKE "%value%check%";


 

3. 복합 조건 일치 => in ("value1", "value2")

SELECT * FROM table_name WHERE column_name IN ("value","check");

cf) 복합조건 불일치 시 not in 사용 가능

 

4. 조건 미포함 => not like "%value%"

SELECT * FROM table_name WHERE column_name NOT LIKE "%value%";

 

5. 날짜 및 숫자의 경우 부등호 사용

SELECT * FROM table_name WHERE value < 100 AND value > 10;

 

 

 

6. 복수 조건의 경우 

column1 like a or column2 like b

column1 like a or column2 not like c.

 

 

조건이 여러개인 경우 그룹으로 묶을 필요가 있습니다. 아래 예제는 소괄호를 사용하여 그룹화 하였습니다.

SELECT * FROM tablename WHERE who=test AND (who LIKE "%me%" OR NOT who LIKE "%you%");
// 위와 같이 괄호를 묶어서 그룹으로 지정이 가능