mysql的select语句和count、max/min、sum、avg、group by、order by、limit等等应用

SELECT语句

select 若干属性值(按列筛选)
from 某表
where 满足若干条件的表

(别名,写不写as都行)    
select Name as 姓名,Salary  as 工资  
from ***

函数的聚集查询

count

select count(*) from **** 
#获取结果集行数

select count(*) from ***
where Age>25  

max/min

select max(Salary),min(Salary) from ***

select max(Salary),min(Salary)
from ***
where Age>25

sum/avg

select sum(Salary) from ***
where age>25

select avg(Salary) from ***
where age>25

group by

#将数据分为多个逻辑组
*group by 分段字符

#如图
select age from ****
group by age

#每一组中的,平均值,个数,最大值,最小值
select age,avg(Salary),count(*),max(Salary),min(Salary) from ****
group by age

having

#(having 限制)   WHERE与sum合计函数无法一起使用
#查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额。
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500

order by

#位于select末尾,允许指定按照一个或多个列排序
#升序:asc , 降序:desc

#按照年龄升/降序排列
select * from ****
order by Age ASC/desc

#先按照年龄降序排列,若年龄相同则按照工资升序
select * from ****
where Age>25
order by Age DESC,Salary ASC

通配符过滤

#单字符匹配"_"
#任意字符开头,剩余部分为erry
select * from ****
where name like '_erry'

#零个/多字符匹配"%"
#检索包含字母n的信息
select * from ****
where name like '%n%'

limit,网站分页用

#限制返回结果集
#要返回结果集的最大数目(行号从0开始)

#从第二行开始的最多五条数据
select * from ****
where age>25
order by Salary desc
limit 2,5

join

#left join 被连接的表 on 连接的条件

select s.name,o.name
from Students s
left join Teachers t
on s.age=t.age

#添加where语句的
select s.name,o.name
from Students s
left join Teachers t
on s.age=t.age
where s.age>15

#连接多张表
select s.name,o.name
from Students s
LEFT join Teachers t ON s.age=t.age
LEFT join Customers c ON s.age=c.age
where s.age>15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值