MariaDB where 절을 사용하여 쿼리에서 반환된 행을 필터링하는 방법을 배웁니다.
MariaDB 소개 where 절
where 절은 select 문의 선택 절로서 행을 선택하기 위한 조회 조건을 지정한다.
다음은 where 절이 포함된 select 문의 구문입니다.
select
select_list
from
table_name
where
search_condition
order by
sort_expression;
이 구문에서는 검색 조건을 지정하여 테이블에서 행을 선택합니다.
행으로 인해 search_condition이 true로 평가되면 where 절은 결과 집합에 해당 행을 포함합니다.
검색 조건은 하나 이상의 논리식으로 구성될 수 있습니다. 논리식은 항상 true, false 또는 unknown의 세 가지 값 중 하나로 평가됩니다. where 절의 논리식을 조건자라고도 합니다.
select 문에서 where 절은 from 절 뒤와 order by 절 앞에 나타납니다.
MariaDB는 select, from, where 및 order by 절로 구성된 select 문의 절을 from, where, select, order by 순서로 실행합니다.
FROM → WHERE → SELECT → ORDER BY
select 문 외에도 업데이트 또는 삭제 문에서 where 절을 사용하여 업데이트 또는 삭제할 행을 지정할 수 있습니다.
MariaDB where 절 예제
다음 예제는 모두 샘플 데이터베이스의 국가 테이블을 사용합니다.
1) 등호(=) 연산자와 함께 MariaDB where 절 사용
다음 예에서는 where 절을 사용하여 지역 ID가 2인 국가를 선택합니다.
select
name
, area, region_id
from
countries
where
region_id = 2
order by
name;
2) 비교 연산자와 함께 MariaDB where 절 사용
다음 문은 where 절을 사용하여 면적이 2,000,000 km2보다 큰 국가를 찾습니다.
select
name
, area
from
countries
where
area > 2000000
order by
area;
3) and 연산자와 함께 MariaDB where 절 사용
and 연산자는 부울 표현식을 결합하고 두 표현식이 모두 true를 반환하는 경우에만 true를 반환합니다.
다음 예에서는 and 연산자와 함께 where 절을 사용하여 지역 ID 1에 있고 면적이 2,000,000 km2보다 큰 국가를 찾습니다.
select
name
, area, region_id
from
countries
where
region_id = 2
and area > 2000000
order by
name;
4) or 연산자와 함께 MariaDB where 절 사용
and 연산자와 마찬가지로 or 연산자는 논리식을 결합하는 데 사용됩니다. 그러나 or 연산자는 표현식 중 하나 이상이 true를 반환하면 true를 반환합니다.
다음 문은 where 절에서 or 연산자를 사용하여 지역 2에 위치하거나 면적이 2,000,000 km2보다 작은 국가를 찾습니다.
select
name
, area, region_id
from
countries
where
region_id = 2
or area < 2000000
order by
name;
5) MariaDB where 절을 사용하여 값이 두 값 사이에 있는 행 찾기
between 연산자는 값이 두 값 사이에 있으면 true를 반환합니다.
expression between low and high
다른 표현으로는 아래와 같이 사용합니다.
expression >= low and expression <= high
예를 들어 다음 명령문은 where 절에서 between 연산자를 사용하여 면적이 1,001,449에서 1,566,500km2 사이인 국가를 찾습니다.
select
name
, area
from
countries
where
area between 1001449 and 1566500
order by
area;
6) MariaDB where 절을 사용하여 값이 목록에 있는 행 찾기
값이 값 목록에 있는지 확인하려면 in 연산자를 사용합니다.
expression in (value1, value2,...)
표현식이 값 목록 value1, value2, … 중 하나로 평가되는 경우 in 연산자는 true를 반환합니다.
다음 문은 where 절에서 in 연산자를 사용하여 국가 코드가 US, FR 및 JP 국가 코드인 국가를 찾습니다.
select
name
, country_code2
from
countries
where
country_code2 in ( 'US', 'FR', 'JP' )
order by
name;
7) MariaDB where 절을 사용하여 패턴을 기반으로 행 찾기
like 연산자는 값이 특정 패턴과 일치하면 true를 반환합니다.
expression LIKE pattern;
%는 하나 이상의 문자와 일치를 확인합니다.
다음 예에서는 where 절에서 like 연산자를 사용하여 이름이 문자 J로 시작하는 국가를 찾습니다.
select
name
from
countries
where
name like 'J%'
order by
name;
이상으로 MariaDB where 절을 사용하여 행 선택을 위한 검색 조건을 지정하는 방법을 알아보았습니다.
※ 원문 출처 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-where/
'MariaDB SQL' 카테고리의 다른 글
MariaDB Between (0) | 2023.05.22 |
---|---|
MariaDB Distinct (0) | 2023.05.18 |
MariaDB Order By (0) | 2023.05.16 |
MariaDB Select (0) | 2023.05.15 |
한 번에 여러 테이블에서 데이터를 삭제하는 방법 (0) | 2023.04.12 |