MySQL에서 특정 값을 기준으로 그보다 작은 값을 가진 레코드를 제외하고 나머지 레코드만 조회하려면 WHERE 절과 비교 연산자를 함께 사용하면 됩니다. WHERE 절은 지정한 조건을 만족하는 행만 결과로 반환하기 때문에, 비교 연산자를 활용하면 원하는 범위의 데이터를 손쉽게 필터링할 수 있습니다.
기본 문법
select *from yourTableName where yourColumnName > yourValue;
위 구문에서 yourColumnName > yourValue 조건은 해당 컬럼의 값이 지정한 값보다 클 때만 행을 반환합니다. 즉, 기준 값 이하의 레코드는 자동으로 제외됩니다.
예제 테이블 생성
먼저 실습용 테이블을 생성해 보겠습니다.
mysql> create table demo27 -> ( -> id int not null auto_increment primary key, -> value int -> ); Query OK, 0 rows affected (3.14 sec)
insert 명령을 사용해 테이블에 여러 개의 레코드를 삽입합니다.
mysql> insert into demo27(value) values(50); Query OK, 1 row affected (0.12 sec) mysql> insert into demo27(value) values(500); Query OK, 1 row affected (0.20 sec) mysql> insert into demo27(value) values(100); Query OK, 1 row affected (0.17 sec) mysql> insert into demo27(value) values(400); Query OK, 1 row affected (0.14 sec) mysql> insert into demo27(value) values(100); Query OK, 1 row affected (0.11 sec) mysql> insert into demo27(value) values(800); Query OK, 1 row affected (0.10 sec) mysql> insert into demo27(value) values(600); Query OK, 1 row affected (0.15 sec)
저장된 데이터 확인
select 문을 실행해 테이블에 저장된 전체 레코드를 조회합니다.
mysql> select *from demo27;
실행 결과는 다음과 같습니다.
+----+-------+ | id | value | +----+-------+ | 1 | 50 | | 2 | 500 | | 3 | 100 | | 4 | 400 | | 5 | 100 | | 6 | 800 | | 7 | 600 | +----+-------+ 7 rows in set (0.00 sec)
특정 값 이하의 레코드 제외하기
이제 value 컬럼의 값이 500보다 큰 레코드만 선택하는 쿼리를 실행해 보겠습니다. 이렇게 하면 500 이하의 값을 가진 레코드는 모두 제외됩니다.
mysql> select *from demo27 where value > 500;
실행 결과는 다음과 같습니다.
+----+-------+ | id | value | +----+-------+ | 6 | 800 | | 7 | 600 | +----+-------+ 2 rows in set (0.00 sec)
결과를 보면 value가 50, 100, 400, 500인 레코드는 제외되고, 600과 800처럼 500보다 큰 값만 정상적으로 반환된 것을 확인할 수 있습니다. 이처럼 WHERE 절에 비교 연산자(>, >=, <, <= 등)를 조합하면 다양한 조건의 데이터 필터링이 가능합니다.