MySQL查询

MySQL--two 查询

*单表存储两千一百万条数据左右,存五百万已经到上限了,索引变慢,效率低

1.基本查询 可以用as给字段起名字,可省略

select 字段列表 from 表名

SELECT id,name,age,sex,favourite from person

2.条件查询

用where表示查询条件

%匹配0或多个字符,一般不用左模糊(%放在左边,导致索引失效,降低查询效率)

_代表匹配一个字符

*模糊查询

where ename like '张%'//姓名张开头

where ename like '%张'//姓名张结尾

where ename like '%张%'//姓名包含张

where ename like 'm___'//姓名m后面有三个字母

3.分页查询

limit 起始索引,个数

分页查询第m页,每页展示n条数据 limit(m-1)*n,n

第一个参数 查询数据开始位置,从0开始

第二个参数 每页显示多少条记录

4.排序 order by 字段名(ASC升序,DESC降序 默认升序)

5.聚合函数 count() sum() avg() max() min()

select count(0) from person 查询有多少条记录

SELECT CAST(avg(age) as decimal(10,0)) as avg from person

6.分组查询 group by 字段

having条件查询 where分组前条件,having分组后的条件(建议用聚合函数)

5.5以前数据库分组,select后面只能跟 group by后面的字段或者是聚合函数

分组展示的是分组的第一个人 

7.子查询

把查询结果当做另一个查询的条件

exists子查询

select id,name,age,sex,favourite from person where exists()

8.内连接

笛卡尔积 查询出来的结果没有意义 每一条数据都要和另一张表的数据拼接一次(条数相乘)

显示内连接inner可以省略

隐式内连接(用的多)

9.外连接

左外连接 left [outer] join 查询的是左边表的所有部分和右边表的交集

右外连接 right [outer] join 查询的是右边表的所有部分和左边表的交集

左外和右外区别

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值