Oracle中In函数的使用

Posted 有没有成功

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中In函数的使用相关的知识,希望对你有一定的参考价值。

SQL: "IN" Function

 

The IN function helps reduce the need to use multiple OR conditions.

译:IN函数有助于减少OR条件的复合使用。

The syntax for the IN function is:

译:IN函数的语法:

SELECT columns
FROM tables
WHERE column1 in (value1, value2, .... value_n);

This SQL statement will return the records where column1 is value1, value2..., or value_n. The IN function can be used in any valid SQL statement - select, insert, update, or delete.

译:该SQL语句将返回column1的值是value1, value2..., 或者value_n的记录。IN函数可以用于任何合法的SQL语句中-select, insert, update, or delete

Example #1

The following is an SQL statement that uses the IN function:

译:下面是一个使用IN函数的SQL语句

SELECT *
FROM supplier
WHERE supplier_name in ( ‘IBM‘, ‘Hewlett Packard‘, ‘Microsoft‘);

This would return all rows where the supplier_name is either IBM, Hewlett Packard, or Microsoft. Because the * is used in the select, all fields from the supplier table would appear in the result set.

译:这将返回supplier_nameIBM, Hewlett Packard, 或者 Microsoft的所有记录。因为在SELECT中使用了*supplier表中所有的字段都会显示在结果集中。

It is equivalent to the following statement:

译:与下面的SQL语句相同:

SELECT *
FROM supplier
WHERE supplier_name = ‘IBM‘
OR supplier_name = ‘Hewlett Packard‘
OR supplier_name = ‘Microsoft‘;

As you can see, using the IN function makes the statement easier to read and more efficient.

译:正如你所看到的,使用IN函数使语句更容易读并且有更高的执行效率。

Example #2

You can also use the IN function with numeric values.

译:你也可以同数字使用IN函数

SELECT *
FROM orders
WHERE order_id in (10000, 10001, 10003, 10005);

This SQL statement would return all orders where the order_id is either 10000, 10001, 10003, or 10005.

译:将返回所有order_id10000, 10001, 10003, 或者10005的记录

It is equivalent to the following statement:

译:与下面的SQL语句相同:

SELECT *
FROM orders
WHERE order_id = 10000
OR order_id = 10001
OR order_id = 10003
OR order_id = 10005;

 

Example #3 - "NOT IN"

The IN function can also be combined with the NOT operator.

译:IN函数可以和NOT操作符连用

For example,

SELECT *
FROM supplier
WHERE supplier_name not in ( ‘IBM‘, ‘Hewlett Packard‘, ‘Microsoft‘);

This would return all rows where the supplier_name is neither IBM, Hewlett Packard, or Microsoft. Sometimes, it is more efficient to list the values that you do not want, as opposed to the values that you do want.

译:这将返回supplier_name不是IBM, Hewlett Packard,Microsoft的所有记录。有时,与你想要的数据相反,这样可以更有效的例出你不需要的值。

如果文章对你用,请支持万事如意网址导航

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow


















以上是关于Oracle中In函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

oracle数组 拼到sql的in子句中去

java调用oracle存储过程 关于sql里面in函数参数的问题

将数组传递给 Oracle 函数

ORACLE自增函数,一般函数

Oracle正则表达式函数:regexp_likeregexp_substrregexp_instrregexp_replace

对 Oracle 存储函数的 JDBC 调用 - “结构表”类型的 IN 参数