MySQL查询数据 使用IF来判断动态执行条件

MySQL查询数据,使用IF来判断动态执行条件
复制代码
格式
IF(expression ,expr_true, expr_false);
MySQL的IF()函数,接受三个表达式,如果第一个表达式为true,而不是零且不为NULL,它将返回第二个表达式。否则,它返回第三个表达式。根据使用它的上下文,它返回数字或字符串值。

实例
SELECT * FROM book WHERE IF(price > 120, btypeid=10, btypeid=11);#WHERE  IF(条件,  true执行条件, false执行条件 )

释义

  当price大于120为真时,执行语句为where price>120 and btypeid=10;

  当price大于120为假时,执行语句为where price<120 and btypeid=11;准确来说应该是where price<=120 and btypeid=11;

  SELECT * FROM  book WHERE IF(price > 120,  btypeid=10,  btypeid=11);这条sql语句等价于如下sql语句

  select * from book where price > 120 and btypeid =10 union select * from book where price < 120 and btypeid = 11;

复制代码

MySQL UNION 操作符

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

复制代码
MySQL UNION 操作符语法格式:

SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expression1, expression2, ... expression_n: 要检索的列。

  • tables: 要检索的数据表。

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据。


SQL UNION 实例

下面的 SQL 语句从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):

实例

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
复制代码

 

posted @   邈宇  阅读(3707)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示