SQL Server查询IN

SQL Server查询IN

SQL Server查询IN

SQL Server中,IN操作符用于指定要在查询中返回哪些值。它允许我们定义一个列表,并在查询中返回匹配该列表中任一值的行。

语法

IN操作符的基本语法如下:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

示例

假设我们有一个名为students的表,该表包含学生的姓名和成绩。我们想要查询出成绩为A或者B的学生的信息,我们可以使用IN操作符来实现:

SELECT *
FROM students
WHERE grade IN ('A', 'B');

运行以上查询,将返回成绩为A或者B的学生的所有信息。

使用IN操作符的实际案例

下面是一个更加实际的案例,假设我们有一个名为products的表,该表包含了产品的信息,包括产品的编号、名称和价格。我们想要查询出一些特定产品的信息,可以使用IN操作符来实现。

首先,我们创建一个名为products的表,并插入一些测试数据:

CREATE TABLE products (
    product_id INT,
    product_name VARCHAR(50),
    price DECIMAL(10, 2)
);

INSERT INTO products (product_id, product_name, price) VALUES (1, 'iPhone', 999.99);
INSERT INTO products (product_id, product_name, price) VALUES (2, 'Samsung Galaxy', 799.99);
INSERT INTO products (product_id, product_name, price) VALUES (3, 'Google Pixel', 899.99);
INSERT INTO products (product_id, product_name, price) VALUES (4, 'OnePlus', 699.99);

现在,我们想要查询出产品编号为1、3和4的产品信息,可以使用IN操作符:

SELECT *
FROM products
WHERE product_id IN (1, 3, 4);

以上查询将返回产品编号为1、3和4的产品信息。

NOT IN操作符

除了IN操作符,SQL Server还提供了NOT IN操作符,用于排除某些值。例如,我们想要查询出除了产品编号为1、3和4的产品以外的所有产品信息,可以使用NOT IN操作符:

SELECT *
FROM products
WHERE product_id NOT IN (1, 3, 4);

以上查询将返回除了产品编号为1、3和4的产品以外的所有产品信息。

使用NOT IN操作符的实际案例

下面是一个实际案例,假设我们有一个名为orders的表,该表包含了订单的信息,包括订单号、客户姓名和订单金额。我们想要查询出订单金额不在100到500之间的订单信息,可以使用NOT IN操作符来实现。

首先,我们创建一个名为orders的表,并插入一些测试数据:

CREATE TABLE orders (
    order_id INT,
    customer_name VARCHAR(50),
    order_amount DECIMAL(10, 2)
);

INSERT INTO orders (order_id, customer_name, order_amount) VALUES (1, 'Alice', 99.99);
INSERT INTO orders (order_id, customer_name, order_amount) VALUES (2, 'Bob', 199.99);
INSERT INTO orders (order_id, customer_name, order_amount) VALUES (3, 'Cathy', 299.99);
INSERT INTO orders (order_id, customer_name, order_amount) VALUES (4, 'David', 399.99);

现在,我们想要查询出订单金额不在100到500之间的订单信息,可以使用NOT IN操作符:

SELECT *
FROM orders
WHERE order_amount NOT IN (100, 200, 300, 400, 500);

以上查询将返回订单金额不在100到500之间的订单信息。

总结

在SQL Server中,IN操作符用于指定要在查询中返回哪些值,而NOT IN操作符用于排除某些值。通过灵活运用这两个操作符,我们可以更加方便地进行数据查询和分析。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程