MySQL에서 특정 행 제외하기
MySQL에서 테이블의 특정 행을 제외하고 조회하려면 비교 연산자 <>(같지 않음, NOT EQUAL)를 사용하면 됩니다. 이 연산자는 !=와 동일한 기능을 하며, WHERE 절과 함께 사용해 원하지 않는 행을 손쉽게 걸러낼 수 있습니다.
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
-> (
-> Id int,
-> FirstName varchar(100)
-> );
Query OK, 0 rows affected (0.58 sec)
insert 명령을 사용해 테이블에 몇 개의 레코드를 삽입합니다.
mysql> insert into DemoTable values(1,'John');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(2,'Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(3,'Robert');
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values(4,'David');
Query OK, 1 row affected (0.13 sec)
select 문으로 테이블의 전체 레코드를 확인합니다.
mysql> select *from DemoTable;
출력 결과
위 쿼리는 다음과 같은 결과를 출력합니다.
+------+-----------+
| Id | FirstName |
+------+-----------+
| 1 | John |
| 2 | Chris |
| 3 | Robert |
| 4 | David |
+------+-----------+
4 rows in set (0.00 sec)
이제 특정 행을 제외하는 쿼리입니다. 아래 예시는 Id가 2가 아닌 행만 조회합니다.
mysql> select Id,FirstName from DemoTable where Id <> 2;
출력 결과
실행 결과는 다음과 같습니다.
+------+-----------+
| Id | FirstName |
+------+-----------+
| 1 | John |
| 3 | Robert |
| 4 | David |
+------+-----------+
3 rows in set (0.00 sec)
결과를 확인해 보면 Id가 2인 'Chris' 행은 제외되고 나머지 3개의 행만 출력된 것을 알 수 있습니다. 참고로 <> 대신 !=를 사용해도 동일한 결과를 얻을 수 있습니다. 두 연산자 모두 MySQL에서 지원되므로 상황에 맞게 편하게 선택해서 사용하시면 됩니다.