博客
关于我
MySql各种查询
阅读量:793 次
发布时间: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学习总结(48)——MySql的日志与备份还原
查看>>
Mysql学习总结(49)——从开发规范、选型、拆分到减压
查看>>
Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(50)——Oracle,mysql和SQL Server的区别
查看>>
Mysql学习总结(51)——Linux主机Mysql数据库自动备份
查看>>
Mysql学习总结(52)——最全面的MySQL 索引详解
查看>>
Mysql学习总结(53)——使用MySql开发的Java开发者规范
查看>>
Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
查看>>
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>