How to Check ‘Is Not Equal’ in SQL Database: Standard SQL Oracle MySQL PostgreSQL SQLite MS SQL Server Operators: <> Table of Contents Problem Example Solution Discussion Example 2 Solution 2 Solution 3 Problem You want to check if two values are not equal in SQL. Example A social platform’s database has a table named employees with data in the columns first_name, last_name, and hire_date. first_namelast_namehire_date OliverCrawford2021-03-15 WilliamParker2022-01-22 RalphCrawford2009-10-01 LaneWalters2020-03-11 KeithPope2021-07-08 JeffreyRead2021-09-25 We want to select all employees except those with the last name of Crawford – i.e. we want all surnames not equal to “Crawford”. Solution To filter out employees with the last name Crawford, you can use the != operator. This operator checks that the values on either side of it are not equal. Let’s see the solution for the example above: SELECT * FROM employees WHERE last_name != 'Crawford'; Alternatively, you can use the <> operator, which also means ‘does not equal’ or ‘does not match’. Both operators work in the same way and both will return the same result in all SQL languages. SELECT * FROM employees WHERE last_name <> 'Crawford'; With either query, this is what you’ll get: first_namelast_namehire_date WilliamParker2022-01-22 LaneWalters2020-03-11 KeithPope2021-07-08 JeffreyRead2021-09-25 Discussion Both != and work across popular SQL dialects: SQL Server, MySQL, PostgreSQL, Oracle SQL, and SQLite. Both will get you the same result. Both operators work with other data types, including integers, floats, dates, etc. Let’s explore another example. Example 2 The social platform’s database has a table named error_report with data in the columns user_id, error_code, and report_date. user_idreport_dateerror_code VBJ16J2021-03-151 AD57232022-01-22404 G8FA5N2009-10-01301 997TT22020-03-111 17NBF62021-07-08402 HSIMAO2021-09-25405 BK58180001-01-011001 78936H0001-01-011001 We want to select all reports except those with the code 1. Solution 2 Let’s use the != operator to compare values in the column error_date and the error code value 1: SELECT * FROM error_report WHERE error_date != 1; This is the result: user_idreport_dateerror_code AD57232022-01-22404 G8FA5N2009-10-01301 17NBF62021-07-08402 HSIMAO2021-09-25405 BK58180001-01-011001 78936H0001-01-011001 The last two records have obviously wrong dates. Let’s filter out these records. Solution 3 To eliminate records with faulty dates from the results, let’s add another comparison between the date in the column report_date and the value '0001-01-01': SELECT * FROM error_report WHERE error_date != 1 AND report_date <> '0001-01-01'; And here’s our result: user_idreport_dateerror_code AD57232022-01-22404 G8FA5N2009-10-01301 17NBF62021-07-08402 HSIMAO2021-09-25405 Recommended courses: SQL Basics SQL Practice Set Recommended articles: Numeric vs. Decimal Data Types in SQL The SQL Count Function Explained With 7 Examples SQL SUM() Function Explained with 5 Practical Examples Using AND, OR, and NOT Operators in SQL See also: How to Filter Rows without NULL in a column How to Find Records with NULL in a Column How to Compare 2 Dates in the WHERE Clause in SQL Subscribe to our newsletter Join our monthly newsletter to be notified about the latest posts. Email address How Do You Write a SELECT Statement in SQL? What Is a Foreign Key in SQL? Enumerate and Explain All the Basic Elements of an SQL Query