首页 > 数据库技术 > 详细

MYSQL多字段联合IN用法

时间:2021-06-11 16:42:45      阅读:20      评论:0      收藏:0      [点我收藏+]

业务场景:

需要查询A中心2016出生得小孩,B中心2015出生得小孩,C中心2014出生得小孩

常规写法:

写法一:

SELECT * FROM t_child WHERE center_id = ‘A‘ AND birth_year = 2016 union all

SELECT * FROM t_child WHERE center_id = ‘B‘ AND birth_year = 2015 union all

SELECT * FROM t_child WHERE center_id = ‘C‘ AND birth_year = 2014;

写法二:

SELECT * FROM  t_child WHERE (center_id=‘A‘ AND birth_year = 2016)

               OR (center_id = ‘B‘ AND birth_year  = 2015)

               OR (center_id = ‘C‘ AND birth_year = 2014);

 

这是当条件个数比较少的时候是适用的,且语句不适合于动态拼接条件,如果用In的话就可以解决以上两个问题了。

使用组合IN的写法:

SELECT * FROM t_child WHERE (center_id,birth_year ) in ( (‘A‘,2016), (‘B‘,2015), (‘C‘,2014) )

 

MYSQL多字段联合IN用法

原文:https://www.cnblogs.com/FruitTea/p/14874855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!