MySQL基础命令——查询

基本查询

select 字段表面 from 表名
基本查询
select * from person
通配符查询以后去了公司不要用
select id,name ,age,sex from person

条件查询

用where表示查询的条件
select 字段1,字段2,字段3… from 表名 where id select 1 and 10
select 字段1,字段2,字段3… from 表名 where id >5 and sex=‘男’
select 字段1,字段2,字段3… from 表名 where id >5 or sex=‘男’

%匹配0或多个字符,一般不用左模糊( %放在左边,导致索引失效,降低查询效率)
select 字段1,字段2,字段3… from 表名 where name like ‘%李’

加粗样式_代表匹配一个字符
select 字段1,字段2,字段3… from 表名 where name like ‘_李’
select 字段1,字段2,字段3… from 表名 where name like ‘%牛%’

分页查询

语法 limit 起始索引,个数
select 字段1,字段2,字段3… from 表名 limit 0,5
select 字段1,字段2,字段3… from 表名 limit 5,5
select 字段1,字段2,字段3… from 表名 limit 10,5
*分页查询第m页,每页展示n 条数据 limit (m-1)n,n

排序

排序 order by 字段名 (ASC 升序,DESC降序)
排序是默认升序
select 字段1,字段2,字段3… from 表名 ORDER BY age ASC;
select 字段1,字段2,字段3… from 表名 ORDER BY age DESC;

聚合函数

聚合函数 count() sum() avg() max() min()
select count(0) from person (查询有多少条纪录)
select sum(age) from person (求和)
select avg(age) from person (平均值)
select min(age) from person (最小值)
select max(age) from person (最大值)
select CAST(avg(age) as decimal(10,0))as avg from person (平均值的小数点,小数点是四舍五入)

分组查询

分组查询 group by 字段
select sex, count(0),avg(age) from 表名 GROUP BY sex;
having条件查询 where 分组前,having分组后的条件
select sex, count(0),avg(age) from 表名 where age>8 GROUP BY sex having avg(age)>20;

子查询

把查询到的结果当作另一个查询的条件
select 字段1,字段2,字段3… from 表名 where id in (select id from 表名 where name=‘…’)

内链接

笛卡尔积 查询出来的结果是没有意义的
select * from 表名1,表名2

显示内链接 inner 可以省略
SELECT 表单1.字段1,ren.字段2,字段3,表单2.字段1 FROM 表单1 JOIN 表单2 on diao.section=gongsi.id
注意:也可以给表名起别名,如果两个表中有相同的字段名称,那么需要用别名+点号来区别,否则报错。

外链接

左外链接 left [outer] join 查询的是左边表的所有部分和右边表的交集
select p.字段1,p.字段2,字段3,字段4,字段5,d.2字段1 as 2字段1from 表名1 p left outer JOIN 表名2 d ON p.section =d.id;

右外链接 right [outer] join 查询的是左边表的所有部分和右边表的交集
select p.字段1,p.字段2,字段3,字段4,字段5,d.2字段1 as 2字段1from 表名1 p right outer JOIN 表名2 d ON p.section =d.id;

左外连接和右外连接的区别:

左外是以左边的表为主表,查询的结果只关注左表,不在乎右边

起别名

可以用as给字段起别名,as也可以省略
as 可以给字段名另外起个名字(两个表里的字段一样的情况下)

as 也可以用在表名上(表名有点长,写的麻烦)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值