今天,给大家分享一下关于 mysql 的 union 、case when、if 操作符,在我看来,这几个操作符算是 mysql 的高级用法。这几个操作符不常使用,但是他们却能帮助我们完成很多比较复杂的取数据要求。
union
UNION 操作符是连接操作,它可以将两个以上的 SELECT 语句的结果组合到一个结果集合中,其中,union 分为 union all 和 union distinct。
union all 会返回所有结果集,包含重复数据。
union distinct 会返回所有结果集,包含重复数据删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
case when
通过上例我们可以了解,case when 可以对数据库存储的字段进行判断并重新赋值直接显示出来,省去了使用 php 进行判断并重新赋值的过程。
if
if 和 case when 都可以用来判断,但是,我们可以看到,case when 可以进行多种情况的判断,但是if 只能进行一次判断,当需要对数据进行判断时,大家可以根据实际情况,选用 if 或是 case when
领取专属 10元无门槛券
私享最新 技术干货