반응형
WHERE IN 절을 사용하여 여러 값 중 하나를 검색할 수 있습니다. WHERE IN 절은 주어진 값 집합 중 하나와 일치하는 레코드를 검색하고, 여러 값을 검색할 때 유용합니다.
사용방법
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);
예제
select * from test_db;
select * from test_db where user in ('hoo', 'hoo2');
위의 예제는 IN 조건으로 user가 hoo, hoo2 중 하나인 레코드를 검색합니다.
select * from test_db where user not in ('hoo', 'hoo2');
NOT IN 조건을 사용하여 user가 hoo, hoo2 아닌 레코드를 검색합니다.
select * from test_db a where user in (select user from test_db_copy where a.user=user);
위의 쿼리는 IN 구문에 서브쿼리를 작성하여 다른 쿼리 결과로 결과를 선택 할 수 있습니다. 서브쿼리가 반환한 결과 중 일치하는 결과가 선택 됩니다. 위는 동일한 조건으로 인해 전체 DATA 가 출력 됩니다.
select * from test_db a where user in (select user from test_db_copy b where b.group = 'A');
위의 쿼리는 서브쿼리 조건인 group가 A 인 DATA 가 출력 됩니다.
SELECT * FROM test_db a WHERE (a.user, a.group) IN (('test2', 'B'), ('test3', 'C'), ('hoo', 'A'));
위는 IN 조건으로 다중컬럼을 검색하는 쿼리 입니다. 다중 열을 검색할 때 각 열을 괄호로 묶어서 각각의 값의 집합을 지정해주면 됩니다.
반응형
'개발이야기 > MySQL' 카테고리의 다른 글
[MySQL] 콤마로 구분된 문자열 검색하기 (FIND_IN_SET 사용법, 예제) (1) | 2023.05.25 |
---|---|
[MySQL] IFNULL 함수로 NULL값 대체하기 (사용법, 예제) (0) | 2023.05.16 |
[MySQL] TIMESTAMPDIFF 날짜, 시간 차이 계산하기 (0) | 2023.04.24 |
[MySQL] order by 특정 값 먼저 정렬 하기 (order by field, order by case when) (0) | 2023.03.21 |
[MySQL] date_format 사용방법 (날짜 검색, 조회, 포함) (2) | 2023.02.28 |
댓글