MySQL 中的 IN 运算符用来判断表达式的值是否位于给出的列表中;如果是,返回值为 1,否则返回值为 0。
创新互联建站长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为合作企业提供专业的成都做网站、成都网站设计,合作网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
NOT IN 的作用和 IN 恰好相反,NOT IN 用来判断表达式的值是否不存在于给出的列表中;如果不是,返回值为 1,否则返回值为 0。
IN 和 NOT IN 的语法格式如下:
expr IN ( value1, value2, value3 ... valueN )
expr NOT IN ( value1, value2, value3 ... valueN )
expr 表示要判断的表达式,value1, value2, value3 ... valueN 表示列表中的值。MySQL 会将 expr 的值和列表中的值逐一对比。
【实例1】在 SQL 语句中使用 IN 和 NOT IN 运算符:
mysql> SELECT 2 IN (1,3,5,'thks'),'thks' IN (1,3,5, 'thks'); +---------------------+---------------------------+ | 2 IN (1,3,5,'thks') | 'thks' IN (1,3,5, 'thks') | +---------------------+---------------------------+ | 0 | 1 | +---------------------+---------------------------+ 1 row in set, 2 warnings (0.00 sec) mysql> SELECT 2 NOT IN (1,3,5,'thks'),'thks' NOT IN (1,3,5, 'thks'); +-------------------------+-------------------------------+ | 2 NOT IN (1,3,5,'thks') | 'thks' NOT IN (1,3,5, 'thks') | +-------------------------+-------------------------------+ | 1 | 0 | +-------------------------+-------------------------------+ 1 row in set, 2 warnings (0.00 sec)
由结果可以看到,IN 和 NOT IN 的返回值正好相反。
当 IN 运算符的两侧有一个为空值 NULL 时,如果找不到匹配项,则返回值为 NULL;如果找到了匹配项,则返回值为 1。
请看下面的 SQL 语句如下:
mysql> SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks'); +------------------------+-------------------------+ | NULL IN (1,3,5,'thks') | 10 IN (1,3,NULL,'thks') | +------------------------+-------------------------+ | NULL | NULL | +------------------------+-------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> SELECT NULL IN (1,3,5,'thks'),10 IN (1,10,NULL,'thks'); +------------------------+--------------------------+ | NULL IN (1,3,5,'thks') | 10 IN (1,10,NULL,'thks') | +------------------------+--------------------------+ | NULL | 1 | +------------------------+--------------------------+ 1 row in set (0.00 sec)
NOT IN 恰好相反,当 NOT IN 运算符的两侧有一个为空值 NULL 时,如果找不到匹配项,则返回值为 NULL;如果找到了匹配项,则返回值为 0。
请看下面的 SQL 语句如下:
mysql> SELECT NULL NOT IN (1,3,5,'thks'),10 NOT IN (1,0,NULL,'thks'); +----------------------------+-----------------------------+ | NULL NOT IN (1,3,5,'thks') | 10 NOT IN (1,0,NULL,'thks') | +----------------------------+-----------------------------+ | NULL | NULL | +----------------------------+-----------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> SELECT NULL NOT IN (1,3,5,'thks'),10 NOT IN (1,10,NULL,'thks'); +----------------------------+------------------------------+ | NULL NOT IN (1,3,5,'thks') | 10 NOT IN (1,10,NULL,'thks') | +----------------------------+------------------------------+ | NULL | 0 | +----------------------------+------------------------------+ 1 row in set (0.00 sec)
标题名称:创新互联数据库教程:MySQLIN和NOTIN用法详解
文章地址:http://www.mswzjz.cn/qtweb/news28/300628.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能