Table of Contents
Using the IN Operator
Negating Multiple Values with NOT IN
Comparing with Subqueries
Home Database SQL How to compare a column to multiple values in SQL?

How to compare a column to multiple values in SQL?

Sep 16, 2025 am 02:12 AM
sql 比较列

使用IN操作符可高效比较列与多个值,如SELECT * FROM employees WHERE department_id IN (1, 2, 3);排除多个值则用NOT IN,但需注意NULL影响结果。

How to compare a column to multiple values in SQL?

To compare a column to multiple values in SQL, use the IN operator. It’s a concise and efficient way to check if a column's value matches any value in a list.

Using the IN Operator

The IN operator allows you to specify multiple values in a WHERE clause. It’s equivalent to using multiple OR conditions but is cleaner and easier to read.

SELECT * FROM employees 
WHERE department_id IN (1, 2, 3);

This query retrieves all rows where department_id is either 1, 2, or 3.

Negating Multiple Values with NOT IN

If you want to exclude rows that match any of several values, use NOT IN.

SELECT * FROM products 
WHERE category NOT IN ('Electronics', 'Books', 'Clothing');

This returns products not in the listed categories.

Comparing with Subqueries

You can also use IN with a subquery to dynamically compare against multiple values.

SELECT * FROM orders 
WHERE customer_id IN (SELECT id FROM customers WHERE country = 'USA');

This gets all orders from customers located in the USA.

Keep in mind that if the subquery or list contains NULL, results may be affected—especially with NOT IN, which returns no rows if the list includes NULL.

Basically, use IN for matching any of several values, and pair it with subqueries when needed. It's simple, readable, and widely supported across databases.

The above is the detailed content of How to compare a column to multiple values in SQL?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

ArtGPT

ArtGPT

AI image generator for creative art from text prompts.

Stock Market GPT

Stock Market GPT

AI powered investment research for smarter decisions

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to compare a column to multiple values in SQL? How to compare a column to multiple values in SQL? Sep 16, 2025 am 02:12 AM

Use the IN operator to efficiently compare columns with multiple values, such as SELECT*FROMemployeesWHEREdepartment_idIN(1,2,3); use NOTIN if multiple values ​​are excluded, but pay attention to NULL affecting the result.

What is the difference between a subquery and a CTE in SQL? What is the difference between a subquery and a CTE in SQL? Sep 16, 2025 am 07:47 AM

Subqueries are queries nested in another query. They are suitable for simple one-time calculations and can be located in SELECT, FROM or WHERE clauses; 2. CTE is defined through WITH clauses to improve the readability of complex queries and support recursion and multiple references; 3. Subqueries are suitable for single use, and CTE is more suitable for scenarios where clear structure, reuse or recursion is required.

How to use the SOUNDEX function for phonetic searches in SQL? How to use the SOUNDEX function for phonetic searches in SQL? Sep 21, 2025 am 01:54 AM

The SOUNDEX function converts text into a four-character code representing pronunciation, adds three digits to the first letter, ignores vowels and specific letters, and maps consonants with similar pronunciations to the same number, realizing pronunciation-based search. For example, Smith and Smythe both generate S530, and names with similar pronunciations can be found through WHERESOUNDEX(last_name)=SOUNDEX('Smith'). Combined with the DIFFERENCE function, it can return a similarity score of 0 to 4, filter the results of pronunciation close, which is suitable for dealing with spelling differences, but has limited effect on non-English names, and performance optimization needs to be paid attention to.

How to add a comment to a table or column in SQL? How to add a comment to a table or column in SQL? Sep 21, 2025 am 05:22 AM

UseCOMMENTONCOLUMNorALTERTABLEwithCOMMENTtodocumenttablesandcolumnsinSQL;syntaxvariesbyDBMS—PostgreSQLandOracleuseCOMMENTON,MySQLusesCOMMENTinCREATE/ALTERstatements,andcommentscanbeviewedviasystemtableslikeINFORMATION_SCHEMA,butSQLitelackssupport.

How to find orphaned records in a SQL table? How to find orphaned records in a SQL table? Sep 17, 2025 am 04:51 AM

Tofindorphanedrecords,useaLEFTJOINorNOTEXISTStoidentifychildrecordswithoutmatchingparentrecords.Forexample,SELECTo.FROMOrdersoLEFTJOINCustomerscONo.customer_id=c.customer_idWHEREc.customer_idISNULLreturnsorderslinkedtonon-existentcustomers.Alternativ

How to perform a non-equi join in SQL? How to perform a non-equi join in SQL? Sep 16, 2025 am 07:37 AM

Anon-equijoinusescomparisonoperatorslikeBETWEEN,>=,or!=tomatchrowsbetweentables.2.Itisusefulforrangecomparisonssuchassalaryordateranges.3.SyntaxinvolvesspecifyingconditionsintheONclause,e.g.,usingBETWEENforsalarygrades.4.CanbeusedwithINNERJOIN,LEF

How to add a UNIQUE constraint to a SQL column? How to add a UNIQUE constraint to a SQL column? Sep 24, 2025 am 04:27 AM

When using CREATETABLE, add UNIQUE keyword or use ALTERTABLEADDCONSTRAINT to add constraints to existing tables to ensure that the values ​​in the column are unique, and support single columns or multiple columns. Before adding, you need to ensure that the data is not duplicated. You can delete it through DROPCONSTRAINT, pay attention to the syntax differences between different databases and NULL values.

How to get the last day of the month for a given date in SQL? How to get the last day of the month for a given date in SQL? Sep 18, 2025 am 12:57 AM

Use the LAST_DAY() function (MySQL, Oracle) to directly obtain the last day of the month where the specified date is, such as LAST_DAY('2023-10-15') to return 2023-10-31; 2. SQLServer uses the EOMONTH() function to achieve the same function; 3. PostgreSQL calculates the end of the month through DATE_TRUNC and INTERVAL; 4. SQLite uses the date function to combine 'startofmonth', '1month' and '-1day' to obtain the results.

See all articles