Raja Gopal Raja Gopal - 9 months ago 52
MySQL Question

Select statement with multiple not equal where clause

In my MySQL i have user_role_id column

I want to select all from the table tbl where user_role_id is not equal to 1, 4 and 5

Till now i use only for single not equal like

select * from tbl where user_role_id != 4

Kindly help me with the syntax for multiple not equal


You can use the NOT IN Constraint for that which is available in the MYSQL.

NOT IN() function:

MySQL NOT IN() makes sure that the expression proceeded does not have any of the values present in the arguments

Example: If you want to fetch the rows from the table book_mast which contain such books, not written in English and the price of the books are not 100 or 200, the following statement can be used.

SELECT book_name,dt_of_pub,pub_lang,no_page,book_price  
FROM book_mast        
WHERE pub_lang!="English"     
AND book_price NOT IN (100,200);

Reference: https://www.techonthenet.com/mysql/not.php

As per your code you need to change the query like.

"SELECT * FROM tbl WHERE user_role_id NOT IN (1, 4, 5)"