Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에 WHERE id !=5 AND id !=10 AND id !=15와 같은 여러 NOT 조건을 구현하는 연산자가 있습니까?

<시간/>

예, 이 MySQL의 경우 NOT IN이 함께 제공됩니다.

구문은 다음과 같습니다.

SELECT *FROM yourTableName WHERE yourColumnName NOT IN(1,2,7);

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table User_informations
   - > (
   - > UserId int,
   - > UserName varchar(20)
   - > );
Query OK, 0 rows affected (0.47 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.

쿼리는 다음과 같습니다.

mysql> insert into User_informations values(12,'Maxwell');
Query OK, 1 row affected (0.17 sec)
mysql> insert into User_informations values(7,'David');
Query OK, 1 row affected (0.10 sec)
mysql> insert into User_informations values(1,'Ramit');
Query OK, 1 row affected (0.36 sec)
mysql> insert into User_informations values(10,'Bob');
Query OK, 1 row affected (0.19 sec)
mysql> insert into User_informations values(2,'Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into User_informations values(14,'Sam');
Query OK, 1 row affected (0.23 sec)
mysql> insert into User_informations values(6,'Mike');
Query OK, 1 row affected (0.12 sec)
mysql> insert into User_informations values(4,'Robert');
Query OK, 1 row affected (0.13 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

쿼리는 다음과 같습니다.

mysql> select *from User_informations;

다음은 출력입니다.

+--------+----------+
| UserId | UserName |
+--------+----------+
|     12 | Maxwell  |
|      7 | David    |
|      1 | Ramit    |
|     10 | Bob      |
|      2 | Carol    |
|     14 | Sam      |
|      6 | Mike     |
|      4 | Robert   |
+--------+----------+
8 rows in set (0.00 sec)

다음은 NOT IN()을 사용하여 요청한 것을 구현한 것입니다.

쿼리는 다음과 같습니다.

mysql> select *from User_informations where UserId NOT IN(1,2,7);

다음은 출력입니다.

+--------+----------+
| UserId | UserName |
+--------+----------+
|     12 | Maxwell  |
|     10 | Bob      |
|     14 | Sam      |
|      6 | Mike     |
|      4 | Robert   |
+--------+----------+
5 rows in set (0.00 sec)