MySQL基础知识——IN

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL基础知识


IN的作用

IN可以在WHERE自己中指定多个值,是多个OR条件的简写形式。


IN的语法

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

或者

SELECT column_name(s) FROM table_name WHERE column_name [NOT] IN (SELECT STATEMENT);


第一种语法是直接在IN的括号里,手动输入多个你需要筛选的值;第二种语法则是将括号里的子查询的结果,作为你筛选数据的值。


示例数据

我们以表customers为演示数据,内容如下:

90.jpg

                                                    表customers

IN的实例

希望从表customers中查询出城市为"北京","上海","广州"的客户信息,可以这样写:


SELECT * FROM customers
WHERE `城市` IN ('北京','上海','广州')


结果为:

91.jpg其实我们也可以使用OR来完成,下面的语句与上面的语句功能相同:


SELECT * FROM customers
WHERE `城市` ='北京'
OR `城市`='上海'
OR `城市`='广州'


但是用OR代码就看着会比较冗长,所以如果遇到相同字段要取多个值的,建议使用IN来书写。


NOT IN的实例

有相等,那对应的就会有不相等,IN也如此,它结合NOT就可以表示不存在的功能。希望从表customers中查询出城市为"北京","上海","广州"的客户信息,可以这样写:


SELECT * FROM customers
WHERE `城市` NOT IN ('北京','上海','广州')


结果为:


92.jpg

大家注意城市这一列,我们查询出来的结果中不包含"北京","上海","广州",正是我们需要查找的数据,这就是NOT IN的功能。


IN子查询实例

有如下一张供应商Suppliers表,示例如下:

93.jpg

希望能够找到customers表中与供应商处在同一个城市的客户,我们可以这样写:


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


结果为:

94.jpg

IN后面接的就是一个子查询,后面我们会详细介绍。这里的子查询的作用就是查询出供应商这张表里的城市信息,我们可以看到有"上海","南京","西安"这三个城市信息。这时候IN就通过这三个城市的信息,去过滤表customers中的客户信息。只要customers表里的客户城市在这三个城市中,就是我们需要的数据了。


这里你可以理解为IN就是取两个表都有的数据才会被查询出来

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
关系型数据库 MySQL 数据库
掌握MySQL数据库基础知识 同步练习与实训
掌握MySQL数据库基础知识 同步练习与实训。
194 0
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
|
存储 SQL 关系型数据库
MySQL基础知识
【6月更文挑战第13天】MySQL基础知识
93 7
|
关系型数据库 MySQL Linux
MySQL数据库基础知识
【6月更文挑战第20天】MySQL数据库基础知识。
221 3
|
关系型数据库 MySQL 数据库
MySQL数据表的基础知识
MySQL数据表的基础知识
103 0
|
关系型数据库 MySQL 数据库
MySQL基础知识
MySQL基础知识
116 0
|
关系型数据库 MySQL PHP
MySQL基础知识之【元数据】
MySQL基础知识之【元数据】
146 1
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【复制表】
MYSQL基础知识之【复制表】
152 1
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【修改数据,删除数据】
MYSQL基础知识之【修改数据,删除数据】
173 1
|
存储 关系型数据库 MySQL
MySQL入门:了解数据库基础知识
MySQL入门:了解数据库基础知识
156 0

热门文章

最新文章

推荐镜像

更多