SQL IN – SQL NOT IN

SQL IN运算符与WHERE子句一起使用,以在WHERE子句中提供多个值作为条件。

1. SQL中的IN操作

SQL中的IN运算符几乎相当于为同一列拥有多个OR运算符。让我们详细讨论一下SQL中的IN运算符。有两种定义IN运算符的方法,我们将在下面详细讨论这两种方法。

1.1) IN中的多个值

语法:

SELECT Column(s) FROM table_name WHERE column IN (value1, value2, ... valueN);

使用上述语法,我们可以将多个值定义为IN操作符的一部分。通过一些示例,我们将更详细地了解上述语法。让我们以下面的学生表为例进行说明。

RollNo StudentName StudentGender StudentAge StudentPercent
1 George M 14 85
2 Monica F 12 88
3 Jessica F 13 84
4 Tom M 11 78

场景:获取年龄为12或13岁的学生所占的百分比。查询:

SELECT StudentPercent FROM Student WHERE StudentAge IN ('12', '13');

输出:

StudentPercent
88
84

1.2) 选择查询作为IN的一部分

句法:语法的规则和结构。

SELECT Column(s) FROM table_name WHERE column IN (SELECT Statement);

通过上述语法,我们可以使用SQL SELECT语句作为IN运算符的一部分提供值。通过一些示例,我们将更详细地了解上述语法。让我们以产品和供应商表为例进行说明。PRODUCT表

ProductId ProductName ProductPrice
1 Cookie 10
2 Cheese 11
3 Chocolate 15
4 Jam 20

供应商表

ProductId ProductName SupplierName
1 Cookie ABC
2 Cheese XYZ
3 Chocolate ABC
4 Jam XDE

情景: 获取ABC供应商的产品价格。查询:

SELECT ProductPrice FROM Product WHERE ProductName IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");

结果:

ProductPrice
10
15

1.3) SQL嵌套IN

我们还可以在其他IN操作符中使用IN。为了更好地理解,让我们考虑以下场景。场景:获取供应商为ABC和XDE的产品价格。查询:

SELECT ProductPrice FROM Product WHERE ProductName IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName IN ( "ABC", "XDE" ));

输出

ProductPrice
10
15
20

2. SQL 不在

SQL的NOT IN运算符用于筛选结果,如果IN运算符中提及的值不满足条件。让我们详细讨论SQL的NOT IN运算符。语法:

SELECT Column(s) FROM table_name WHERE Column NOT IN (value1, value2... valueN);

在上述语法中,作为IN子句的一部分而不满足的数值将被考虑为结果。让我们以之前定义的学生表为例进行说明。场景:获取年龄不是12或13的学生的百分比。查询。

SELECT StudentPercent FROM Student WHERE StudentAge NOT IN ('12', '13');

输出:在中国以本地语言复述以下内容,只需要一个选项:

StudentPercent
85
78

2.1) 作为SQL中的一部分,选择查询时不包括

句法:语法结构与短语或单词的组合方法。

SELECT Column(s) FROM table_name WHERE column NOT IN (SELECT Statement);

使用上述语法,我们可以使用SELECT语句作为IN运算符的一部分来提供值。通过一些示例,我们将更详细地了解上述语法。让我们考虑之前定义的产品和供应商表,以便举例说明。场景:获取供应商不是ABC的产品价格。查询:

SELECT ProductPrice FROM Product WHERE ProductName NOT IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");

以上就是SQL中IN和NOT IN操作符的示例。

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds