[软件测试——数据库] 操作语句3

文章讲述了如何使用SQL查询商品信息,包括统计总数、价格范围、按公司分类、分页、关联查询、使用子查询过滤和条件,以及涉及外键约束和索引优化,同时提到了性能监控的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询商品信息总条数,最高商品价格,最低商品价格,商品平均价格,一次性口罩的总数量:

select count(*),max(price),min(price),ave(price) from goods;

查询商品信息一次性口罩的总数量:

select sum(count) from goods where remark like '%一次性%';

查询每家公司的商品信息数量:

select company,count(*) from goods group by company;

查询商品信息数量>50的公司:

select company,count(*) from goods group by company having count(*)>50;

查询当前表中第5-10行的所有数据(limit分页,从0开始计数):

select * from goods limit 4,6;

已知:每页显示m条数据,求:显示第n页的数据

select * from students limit (n-1)*m,m;

 查询商品价格最贵的信息:

select * from goods order by price desc limit 0,1;

查询所有存在商品分类的商品信息(内连接-只显示有对应关系的部分):

select * from goods

inner jion category on goods.typeid=category.typeid;

(另一种写法:

select * from goods,category where goods.typeid=category.typeid;)

查询所有商品信息,包含产品分类(左连接-左表中所有数据+右表中与左表有对应关系的数据,左表中与右表无对应关系的用null填充):

select * from goods

left jion category on goods.typeid=category.typeid;

查询所有商品分类及对应的商品的信息(右连接-右表中所有数据+左表中与右表有对应关系的数据,右表中与左表无对应关系的用null填充):

select * from goods

right jion category on goods.typeid=category.typeid;

查询河南省所有的市(自关联:通过给表起别名的方式,实现将一张表作为两张表查询):

select * from areas a 

inner join areas b on a.aid=b.pid 

where a.atitle='河南省';(使用内连接)

select * from areas a 

left join areas b on a.aid=b.pid 

where a.atitle='河南省';(使用左连接)

查询河南省所有的市和区(三表连查)

select * from areas a 

left join areas b on a.aid=b.pid 

left join areas c on b.aid=c.pid

where a.atitle='河南省';

查询价格高于平均价的商品信息(子查询充当条件):

select * from goods where price > (select avg(price) from goods);

查询所有来自pxx的商品信息,包含商品分类(子查询充当数据源):

select * from

(select goods.*,category.id cid,category.typeId ctid,category.cateName from goods

left join category on goods.typeId=category.typeaId 

) a

where a.company='pxx';

子查询中,表与表之间的字段名不能出现重复值,可以将重复字段使用别名加以区分

外键:通过外部数据表的字段,来控制当前数据表的数据内容变更,以避免单方面移除数据,导致关联表数据产生垃圾数据的一种方法。(如果大量增加外键设置,会严重影响除数据查询以外的其他操作的操作效率)

索引:提高查询效率。(如果大量增加索引设置,会严重影响数据查询操作以外的其他操作的操作效率)

 查询SQL语句在执行过程中多种资源的消耗情况,如CPU、IO、IPC、SWAP等。

SET profiling = 1;

执行需要定位性能问题的SQL语句

SHOW PROFILES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值