Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL WHERE 절에서 '같지 않음' 연산자(!=, <>) 사용하는 방법

MySQL WHERE 절에서 '같지 않음' 조건 활용하기

MySQL에서 특정 값과 일치하지 않는 레코드만 조회하고 싶을 때는 != 연산자 또는 <>(같지 않음) 연산자를 사용할 수 있습니다. 두 연산자는 기능적으로 동일하게 동작합니다.

기본 문법

SELECT * FROM 테이블명 WHERE 컬럼명 <> 조건값;

예제 테이블 생성

위 문법을 실제로 이해하기 위해 간단한 테이블을 만들어 보겠습니다.

mysql> create table NotEqualsDemo
-> (
    -> Id int
-> );
Query OK, 0 rows affected (1.03 sec)

데이터 삽입

INSERT 명령어를 사용해 테이블에 여러 개의 레코드를 추가합니다.

mysql> insert into NotEqualsDemo values(1);
Query OK, 1 row affected (0.15 sec)

mysql> insert into NotEqualsDemo values(2);
Query OK, 1 row affected (0.18 sec)

mysql> insert into NotEqualsDemo values(3);
Query OK, 1 row affected (0.10 sec)

mysql> insert into NotEqualsDemo values(4);
Query OK, 1 row affected (0.18 sec)

mysql> insert into NotEqualsDemo values(5);
Query OK, 1 row affected (0.14 sec)

전체 레코드 확인

SELECT 문으로 현재 저장된 모든 레코드를 조회해 보겠습니다.

mysql> select *from NotEqualsDemo;

실행 결과는 다음과 같습니다.

+------+
| Id   |
+------+
| 1    |
| 2    |
| 3    |
| 4    |
| 5    |
+------+
5 rows in set (0.00 sec)

'같지 않음' 연산자 적용

이제 앞서 소개한 문법을 실제로 적용해 보겠습니다. 아래 쿼리는 <> 3 조건을 사용했기 때문에 Id가 3인 레코드를 제외한 나머지 결과만 반환합니다.

mysql> select *from NotEqualsDemo where Id <> 3;

실행 결과는 다음과 같습니다.

+------+
| Id   |
+------+
| 1    |
| 2    |
| 4    |
| 5    |
+------+
4 rows in set (0.00 sec)

참고 사항

<> 대신 !=를 사용해도 동일한 결과를 얻을 수 있습니다. 예를 들어 where Id != 3도 같은 방식으로 동작합니다. 다만 NULL 값이 포함된 컬럼에는 '같지 않음' 비교가 적용되지 않으므로, NULL까지 처리하려면 IS NOT NULL 조건을 함께 사용해야 한다는 점을 유의하세요.