IN的作用

IN运算符允许您在WHERE子句中指定多个值。

IN运算符是多个OR条件的简写。

IN的语法

SELECT column_name(s) FROM table_name

WHERE column_name IN (value1, value2, ...);

或者

SELECT column_name(s) FROM table_name

WHERE column_name IN (SELECT STATEMENT);

示例数据库

以下数据选取自"Customers" 表:

IN的实例

以下SQL语句选择省份位于“上海市”,“北京市”和“广东省”的所有客户:

代码示例:

SELECT * FROM Customers 
WHERE 省份 IN ('上海市', '北京市', '广东省');

结果:

可以看到省份那一列都是IN里面的数据

以下SQL语句选择不在“浙江省”,“上海市”或“北京市”中的所有客户:

代码示例:

SELECT * FROM Customers 
WHERE 省份 NOT IN ('浙江省', '上海市', '北京市');

结果:

可以看到省份那一列排除了 IN里面的那些数据,因为这里是NOT,就是排除的意思。

以下SQL语句选择来自同一城市的所有客户作为供应商"Suppliers":

我们先看一下供应商"Suppliers"表里的内容:

代码示例:

SELECT * FROM Customers 
WHERE 城市 IN (SELECT 城市 FROM Suppliers);

结果:

我们看到,供应商Suppliers表里只有城市为上海,才与客户Customers表里城市也为上海的数据能对应上。所以这里IN的作用是取两个表都有的数据才会被查询出来。

批注

IN的作用就是将需要查找的内容列出来放在后面的括号里,也可以将子查询的结果放在括号内,这样IN就只找符合括号里的内容,从而起到筛选的作用。另外IN里面可以放多种数据类型,常见的包括日期,字符,数值等类型。

SQL学习——IN运算符的更多相关文章

  1. SQL学习——BETWEEN运算符

    原文链接 BETWEEN的作用 BETWEEN 操作符用于选取介于两个值之间的数据范围内的值. BETWEEN的边界 BETWEEN运算符选择给定范围内的值.值可以是数字,文本或日期. BETWEEN ...

  2. SQL学习——LIKE运算符

    原文链接 LIKE 作用 在WHERE子句中使用LIKE运算符来搜索列中的指定模式. 有两个通配符与LIKE运算符一起使用: % - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符 注意: ...

  3. C++学习之运算符重载的总结

    C++学习之运算符重载的总结              运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用域不同类型的数据导致不同行为的发生,C++为运算符重载提供了一种方法,即运算符重载函数 ...

  4. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  5. TERADATA SQL学习随笔<一>

    此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...

  6. SQL学习(时间,存储过程,触发器)

    SQL学习 几个操作时间的函数 --datapart 获取时间中的年月日时分秒等部分 select DATEPART(year,current_timestamp); select DATEPART( ...

  7. SQL-W3School-基础:SQL AND & OR 运算符

    ylbtech-SQL-W3School-基础:SQL AND & OR 运算符 1.返回顶部 1. AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤. AND 和 OR 运算符 ...

  8. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  9. python学习第六天运算符总结大全

    python学习第六天运算符总结大全,玖乐网络(www.96net.com.cn)列出下面详细 1,算术运算符 + 加 - 减 *乘 / 除 % 求模 ** 乘方 // 取整除 - 返回商的整数部分 ...

随机推荐

  1. JDBC的异常处理方式

    A: try...catch(...) {...} finally {} B: 关闭ResultSet,Statement , Connection import java.sql.Connectio ...

  2. 使用es6一句话去重

    let arr = [1,2,3,4,5,1,2,3] let arr2 = Array.from(new Set(arr)) console.log(arr2) //[1,2,3,4,5]

  3. [maven]maven插件 tomcat7-maven-plugin 的使用

    使用 tomcat7-maven-plugin,可以将tomcat内嵌到web项目中,直接运行webapp项目. 第一步.pom.xml的配置: <build> <plugins&g ...

  4. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_19-页面静态化-模板管理-模板存储

    因为没有界面,所以手动的通过操作数据库的方式来存储 比如说要存一个轮播图的模板 把自增的_id去掉 先用测试程序把文件存储到gridFS得到一个gridId,然后拿着这个文件的id 这样就添加好了这一 ...

  5. Json_DataMember签名作用

    [DataContract] public class ApiResponse { [DataMember] public string Time { get; set; } } 序列化和反序列,如果 ...

  6. hello/hi的简单的网络聊天程序

    hello/hi的简单的网络聊天程序 0 Linux Socket API Berkeley套接字接口,一个应用程序接口(API),使用一个Internet套接字的概念,使主机间或者一台计算机上的进程 ...

  7. Ubuntu Docker-ce安装

    使用官方给的脚本进行安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  8. PHP中使用CURL实现GET、POST、PUT、DELETE请求

    /** * @param $url * @param $data * @param string $method * @param string $type * @return bool|string ...

  9. OpenGL学习(4)——纹理(补)

    完成章节后练习 练习 1. Make sure only the happy face looks in the other/reverse direction by changing the fra ...

  10. leetcode654 Maximum Binary Tree

    思路: 使用单调栈可以达到O(n). 实现: /** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre ...