sql查询方法的一些

sql 条件判断

case
   when    then  ''
   else  ''
end

消除重复

distinct

select distinct username from user

联合

union 注意两个sql语句显示的类需要相同,如果查询数据相同会去除相同的只显示一条
union all 解决上面的问题

select  username  from user where id = 1
union
select  username  from user where id = 2

判断空转为0

ifnull(,)

select  ifnull(null,0) from  user

ORDER BY使用

ORDER BY 后可加2个字段,用英文逗号隔开。

f1用升序, f2降序,sql该这样写

ORDER BY  f1, f2  DESC

也可以这样写,更清楚:

ORDER BY  f1 ASC, f2  DESC

如果都用降序,必须用两个desc

ORDER BY  f1 DESC, f2 DESC

查找字段为空

字符串 ‘ ’

其他的null

select * from product where pro_count is null or pro_count = ''

删除重复字段保留最小id

表结构 users

idname
1张三
2张三
3王五
DELETE 
FROM
	users 
WHERE
	id NOT IN ( SELECT id FROM ( SELECT id FROM users GROUP BY NAME ) u )

两个表的交集

表结构
s表

idname
1张三
2张三
3王五

sc表

idname
1张三
2张三
SELECT
	sid 
FROM
	s 
WHERE
	sid IN ( SELECT scid FROM sc )

交集之外的其他

	  
SELECT
	sid 
FROM
	( SELECT sid FROM s UNION SELECT scid FROM sc ) s 
WHERE
	s.sid NOT IN ( SELECT sid FROM s WHERE sid IN ( SELECT scid FROM sc ) )
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值