Mysql Select 查询完整语法

selet[select 选项] 
    字段列表[字段别名] /* 
from 数据源
left join xxx on xxxx
[where条件字句]
[group by 字句]
[having 字句]
[order by 字句]
[limit 字句]




字段列表 字段别名!!!!!

select xx 别名,xxx 

if (aaa like 'Fid%',substring(aaa, 6, 8),aaa) newaaa

split 不方便则用 substring 

mysql if

< 40 40到60之间 大于60 

case when score <40 then 'xxx'

when score <60 then 'dddd'

when score>60 then 'ccc'

end as newScore

week(dt) 一年中的第几周

select yearweek('2020-01-08',1)

返回年和第几周

20200102

sql in 查询 在按照in里面的顺序进行输出

SELECT orderId from order  WHERE orderId in (051,038,050) order by field(orderId,051,038,050)
 

# mysql查询拼接

select concat_ws('_',field1,field2) from table; 

CONCAT_WS('_',field1,field2) mysql查询结果拼接   第一个是连接符号 二三是连接的字段

#mysql 分组查询合并 group_concat     mysql中的多行查询结果合并成一个 相同的字段将值合并到一起 分组合并

field1field2
namezhangsna
namelisi
age15
age18

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'] )
SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id
SELECT id,GROUP_CONCAT(DISTINCT score) FROM testgroup GROUP BY id
SELECT id,GROUP_CONCAT(score ORDER BY score DESC) FROM testgroup GROUP BY id  
SELECT id,GROUP_CONCAT(score SEPARATOR ';') FROM testgroup GROUP BY id  

如上面的表格需要将name行和age行合并则需要将其分组group 然后在将其concat group_concat

select field1,group_concat(field2) from table group by field1 默认以,分割合并后的结果

变成如下

field1result
namezhangsan,lisi
age15,18

往数据库里面插数据 如果有一列是自增主键的话 那么此列可以忽略不用往里面添加  mysql会自动往里面添加值
 

mysql 模糊查询 like _ 匹配单个字符  %匹配任意数目字符包括零个字符  且 mysql模糊查询忽略大小写    模糊查询不忽略大小写的话 需要在like 后面添加 binary 即  like binary ‘%xxx%’


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值