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

MySQL 쿼리에서 <> 연산자의 의미와 활용 방법

MySQL에서 <> 기호는 '같지 않음(not equal to)'을 의미하는 비교 연산자로, != 연산자와 완전히 동일한 역할을 합니다. 두 연산자 모두 결과를 불리언(boolean), 즉 tinyint(1) 형태로 반환하며, 조건이 참(true)이면 1, 거짓(false)이면 0을 출력합니다.

!= 연산자와 <> 연산자 비교

케이스 1: != 연산자 사용

다음 쿼리처럼 != 연산자를 사용할 수 있습니다.

mysql> select 3!=5;

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

+------+
| 3!=5 |
+------+
| 1    |
+------+
1 row in set (0.00 sec)

케이스 2: <> 연산자 사용

같은 조건을 <> 연산자로 작성해도 동일한 결과가 나옵니다.

mysql> select 3 <> 5;

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

+--------+
| 3 <> 5 |
+--------+
| 1      |
+--------+
1 row in set (0.00 sec)

참고로 <> 연산자는 표준 ANSI SQL에 포함된 문법입니다. 반면 !=는 일부 데이터베이스에서만 지원되므로, 이식성(portability)을 고려한다면 <>를 사용하는 것이 더 안전합니다.

테이블에서 <> 연산자 활용하기

<> 연산자는 단순 값 비교뿐 아니라 WHERE 절에서 특정 조건을 제외한 행(row) 집합을 조회할 때도 유용하게 사용됩니다.

1. 테이블 생성

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table NotEqualOperator
-> (
-> StudentId int,
-> StudentName varchar(100),
-> StudentSection varchar(10)
-> );
Query OK, 0 rows affected (0.78 sec)

2. 샘플 데이터 삽입

INSERT 명령어로 학생 데이터를 추가합니다.

mysql> insert into NotEqualOperator values(1,'John','A');
Query OK, 1 row affected (0.19 sec)

mysql> insert into NotEqualOperator values(2,'Carol','B');
Query OK, 1 row affected (0.19 sec)

mysql> insert into NotEqualOperator values(3,'Sam','A');
Query OK, 1 row affected (0.15 sec)

mysql> insert into NotEqualOperator values(4,'Mike','B');
Query OK, 1 row affected (0.23 sec)

mysql> insert into NotEqualOperator values(5,'Bob','B');
Query OK, 1 row affected (0.19 sec)

mysql> insert into NotEqualOperator values(6,'David','B');
Query OK, 1 row affected (0.14 sec)

mysql> insert into NotEqualOperator values(7,'Ramit','A');
Query OK, 1 row affected (0.18 sec)

3. 전체 데이터 조회

SELECT 문으로 저장된 모든 레코드를 확인합니다.

mysql> select *from NotEqualOperator;

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

+-----------+-------------+----------------+
| StudentId | StudentName | StudentSection |
+-----------+-------------+----------------+
| 1         | John        | A              |
| 2         | Carol       | B              |
| 3         | Sam         | A              |
| 4         | Mike        | B              |
| 5         | Bob         | B              |
| 6         | David       | B              |
| 7         | Ramit       | A              |
+-----------+-------------+----------------+
7 rows in set (0.00 sec)

4. <> 연산자로 조건 필터링

이제 <> 연산자를 사용해 A반이 아닌 학생만 조회해 보겠습니다.

mysql> select *from NotEqualOperator where StudentSection <>'A';

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

+-----------+-------------+----------------+
| StudentId | StudentName | StudentSection |
+-----------+-------------+----------------+
| 2         | Carol       | B              |
| 4         | Mike        | B              |
| 5         | Bob         | B              |
| 6         | David       | B              |
+-----------+-------------+----------------+
4 rows in set (0.00 sec)

정리

  • MySQL에서 <>!=는 기능적으로 동일한 '같지 않음' 연산자입니다.
  • 두 연산자 모두 조건이 참이면 1, 거짓이면 0을 반환합니다(tinyint(1)).
  • <>는 표준 ANSI SQL 문법이므로 다른 데이터베이스와의 호환성을 고려하면 이쪽을 사용하는 것이 좋습니다.