mysql基础一

MySQL选择(过滤句式)
SEKECT * ✳号代表选择全部列
FEOM [表名]
WHERE [列名] LIKE ‘条件’
例如
WHERE name LIKE “LIZA”
WHERE point<2000
WHERE points BETWEEN 2000 AND 3000

[]会匹配[]里的任意字符,例如
WHERE payment LIKE ‘[yn]’
会在payment列匹配所以包含y和n的字符
常用的可以参考下图的其他符号,如^是返回开头:
在这里插入图片描述
NOT 否定跟在其后的条件,例如
WHERE NOT invoice_id IN (3,4)
invoice_id不是3或者4的会被筛选

也可以用在WHERE里用IN/BETWEEN…AND/OR,IN与OR很相似,比如
WHERE name IN(‘NA’,‘CC’)
WHERE name = ‘%NA%’ OR name = ‘%CC%’

比较好用的是REGEXP:正则表达式
在这里插入图片描述
REGEXP 有点像是LIKE/IN的升级

DISTINCT可以返回数据库里的不同值,通常返回某一列
SELECT DISTINCT name,age
FROM user;
或者
SELECT COUNT(DISTINCT name,age) AS total
FROM user;

大小写都可以,但是为了方便自己看,我还是倾向于大写

LIMIT,限制返回行数,OFFSET偏离,例如
LIMIT 4 OFFSET 5,就是从第5行开始查找,然后返回查到的前4行

也可以在SQL server里用如下代码限制输出的结果(仅限于SQL)
SELECT TOP 5 product_name
FROM products;

OREDR BY,升序
ORDER BY DESC,降序

使用ROUND()函数,ROUND(x,y) 函数对参数x进行四舍五入的操作,返回值保留小数点后面指定的y位。
在这里插入图片描述

select
count(gender) as male_num ,
round(avg(gpa),1) --round保留小数点后一位,avg(gpa)求gpa的平均值
from user_profile
where gender=‘male’;

GROUP BY 对查询结果分组,注意需要与SELECT里的行列一致
在这里插入图片描述

SELECT
gender,
university,
COUNT(gender) AS user_num,
ROUND(AVG(active_days_within_30),1) AS avg_active_day,
ROUND(AVG(question_cnt),1) AS avg_question_cnt
FROM user_profile
GROUP BY gender,university

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值