博客
关于我
MySql各种查询
阅读量:796 次
发布时间:2023-02-12

本文共 1477 字,大约阅读时间需要 4 分钟。

数据库查询优化指南

1. 基础查询

简单查询

select * from info;
select Code as '代号', name as '姓名' from info;

条件查询

select * from car where code = 'c002';
select * from car where brand = 'b001' or power = 130;

2. 模糊查询

select * from car where name like '%奥迪%';

注意:%表示任意多个字符,_表示单个字符。

3. 排序查询

select * from car order by brand, power desc;

默认排序为升序,不需要写asc

4. 范围查询

select * from car where price between 40 and 60;

5. 离散查询

select * from car where code in('coo1','c003','c005','c007');
select * from car where code not in('coo1','c003','c005','c007');

6. 统计查询(聚合函数)

select count(code) from car; -- 查询记录数
select sum(price) from car; -- 查询总和
select max(code) from car; -- 查询最大值
select min(brand) from car; -- 查询最小值
select avg(price) from car; -- 查询平均值
select year(brithday) from dtudent; -- 提取生日的年份

7. 分页查询

select * from Car limit (n-1)*5,5; -- 取第n页,每页显示5条

8. 去重查询

select distinct Brand from Car;

9. 分组查询

select Brand, count(*) from Car group by Brand; -- 按品牌分组并统计记录数
select Brand from Car group by Brand having count(*) > 3; -- 分组后按条件筛选

10. 高级查询

连接查询(扩展字段)

select Info.Code, Info.Name, Info.Sex, Nation.Name, Info.Birthday from Info, Nation where Info.Nation = Nation.Code;

联合查询(扩展行)

select Code, Name from Infounionselect Code, Name from Nation;

子查询

无关子查询

select * from Info where Nation = (select Code from Nation where Name = '汉族');

相关子查询

select * from Car a where Oil < (select avg(Oil) from Car b where b.Brand = a.Brand);

注意事项

  • 使用group by时,注意having语句进行筛选。
  • 子查询通常用于条件限制或聚合函数中。
  • like查询中,%_的使用需要谨慎,避免过度匹配。

转载地址:http://jqbfk.baihongyu.com/

你可能感兴趣的文章
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
查看>>
mysql支持表情
查看>>
MySQL支撑百万级流量高并发的网站部署详解
查看>>
MySQL改动rootpassword的多种方法
查看>>
mysql数据分组索引_MYSQL之索引配置方法分类
查看>>
mysql数据取差,mysql屏蔽主外键关联关系
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
Mysql数据库 InnoDB存储引擎中Master Thread的执行流程
查看>>
MySQL数据库 范式
查看>>
Mysql数据库B-Tree索引
查看>>
mysql数据库io空闲_mysql数据库磁盘io高的排查
查看>>
mysql数据库root密码忘记,查看或修改的解决方法
查看>>
MySQL数据库SQL注入靶场sqli通关实战(附靶场安装包)
查看>>
MYSQL数据库下载安装(Windows版本)
查看>>
MySQL数据库与Informix:能否创建同名表?
查看>>
mysql数据库中的数据如何加密呢?mysql8.0自带新特性
查看>>
MySQL数据库优化
查看>>
MySQL数据库优化总结
查看>>