mysql if查询语句_MySQL if判断语句以及条件查询语句

一、sql 中if条件的使用

如:查询t_role角色表中是否存在t_user用户表中Joi用户的信息

select distinctrow  *  from   t_user u    left join   t_role r    on r.uid = u.uid   and   r.state = 1    where    if (r.uid is not null , r.name = 'Joi' , 1 <> 1)

这里if的用法和三目运算类似,如果“r.uid is not null”条件满足,说明role表中存在uid相等的用户,然后选中“r.name = 'Joi'”条件,就会从左连接的结果中去查询满足“ r.name = 'Joi' ”的信息;否则会选中” 1 <> 1 “条件(1 <> 1为永假条件)。distinctrow 对行去重,查询唯一的一行数据,对重复行去重。

二、sql 中 “ where 1=1 ” 和 “ where 1<>1 ”的使用

1、“ where 1=1 ”通常用于动态SQL,方便在拼接sql的时候直接拼“ and  '条件1' ”,不用判断是否是第一个查询条件而处理要不要加“ and ”的两种情况。

2、“ where 1<>1 ”用于只取结构不取数据的场合。

如:create table user_copy tablespace user_copy as  select * from user where 1<>1

建成一个和user表结构完全相同的uer_copy表 ,但不拷贝user表中的数据。

另:

拷贝表

create   table_name   as   select   *   from   Source_table   where   1=1;

复制表结构

create   table_name   as   select   *   from   Source_table   where   1 <> 1;

3、查询当前表最新一条数据

select * from t__msg order by id DESC limit 1

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值