当前位置:   article > 正文

数据库的查询语句_数据库查询语句

数据库查询语句

目录

一 . 基本查询

1. 查询所有数据

2.查询部分字段

3. 起字段别名

4. 拓展

二 . 条件查询

三 . 模糊查询

四 . 范围查询

五 . 为空查询

六 . 排序

七 . 聚合函数

八 . 分组

九 . 分页查询


练习模板

一 . 基本查询

1. 查询所有数据

select * from goods;

2.查询部分字段

select goodsName, price from goods;

3. 起字段别名

  1. -- select 字段名 as '别名' from goods;
  2. -- 注意: as和引号可以省略
  3. select goodsName 商品名称 , price 价格 from goods;

4. 拓展

        起别名的作用: 
                    1> 美化数据结果的显示效果 
                    2> 可以起到隐藏真正字段名的作⽤

 

二 . 条件查询

1. 查询同时符合两种条件的数据

  1. -- 查询价格等于30 并且出⾃并夕夕的所有商品信息
  2. select * from goods where price=30 and company='并夕夕';

2. 查询符合一种条件但不符合另一种条件的数据

  1. -- 查询价格等于30但不出⾃并夕夕的所有商品信息
  2. select * from goods where not company='并夕夕' and price=30;

三 . 模糊查询

  1. -- 查询全部⼀次性⼝罩的商品信息
  2. -- 模糊查询: like 和符号 %(任意多个字符)/_(任意⼀个字符)
  3. -- %关键词% : 关键词在中间
  4. select * from goods where remark like '%⼀次性%';
  5. -- %关键词 : 关键词在末尾
  6. select * from goods where remark like '%⼀次性';
  7. -- 关键词% : 关键词在开头
  8. select * from goods where remark like '⼀次性';

四 . 范围查询

  1. -- 查询所有价格在30-100的商品信息
  2. -- 范围查询:
  3. 1> ⾮连续范围: in
  4. 2> 连续范围: between ... and ...
  5. select * from goods where price between 30 and 100;
  6. -- 注意: between ... and ... 的范围必须是从⼩到⼤

五 . 为空查询

  1. -- 查询没有描述信息的商品信息
  2. -- 注意: 在 MySQL 中, 只有显示为 NULL 的才为空! 其余空⽩可能是空格/制表符(tab)/换⾏符
  3. (回⻋键)等空⽩符号
  4. -- 判断空:
  5. 1> 为空: is null
  6. 2> 不为空(双重否定表肯定): is not null
  7. select * from goods where remark is null;
  8. -- 补充需求: 查询有描述信息的所有商品
  9. select * from goods where remark is not null;

六 . 排序

  1. -- 查询所有商品信息, 按照价格从⼤到⼩排序, 价格相同时, 按照数量少到多排序
  2. -- select * from 表名 order by 列1 asc|desc,列2 asc|desc,...
  3. -- 说明: order by 排序, asc : 升序, desc : 降序
  4. -- 注意: 排序过程中, ⽀持连续设置多条排序规则, 但离 order by 关键字越
  5. 近, 排序数据的范围越⼤!
  6. select * from goods order by price desc;
  7. select * from goods order by price desc, count asc;
  8. -- 注意: 默认排序为升序, asc 可以省略
  9. select * from goods order by price desc, count;

七 . 聚合函数

  1. -- 查询以下信息: 商品信息总条数; 最⾼商品价格; 最低商品价格;
  2. 商品平均价格; ⼀次性⼝罩的总数量
  3. -- 聚合函数: 系统提供的⼀些可以直接⽤来获取统计数据的函数
  4. -- 商品信息总条数: count(字段): 查询总记录数
  5. select count(*) from goods;
  6. -- 注意: 统计数据总数, 建议使⽤*, 如果使⽤某⼀特定字段, 可能会造成数据
  7. 总数错误!
  8. select count(remark) from goods;
  9. -- 最⾼商品价格: max(字段): 查询最⼤值
  10. select max(price) from goods;
  11. -- 最低商品价格: min(字段): 查询最⼩值
  12. select min(price) from goods;
  13. -- 商品平均价格: avg(字段): 求平均值
  14. select avg(price) from goods;
  15. -- ⼀次性⼝罩的总数量: sum(): 求和
  16. -- 注意: 此处的 count 是数据表中字段名!
  17. select sum(count) from goods where remark like '%⼀次性%';
  18. -- 扩展: 在需求允许的情况下, 可以⼀次性在⼀条 SQL语句中, 使⽤所有的聚
  19. 合函数
  20. select count(*), max(price), min(price), avg(price) from goods;

八 . 分组

  1. -- 查询每家公司的商品信息数量
  2. -- 分组: select 字段1,字段2,聚合... from 表名 group by 字段1,字段
  3. 2...
  4. -- 说明: group by : 分组
  5. -- 注意:
  6. -- 1> ⼀般情况, 使⽤哪个字段进⾏分组, 那么只有该字段可以在 * 的位置处
  7. 使⽤, 其他字段没有实际意义(只要⼀组数据中的⼀条)
  8. -- 2> 分组操作多和聚合函数配合使⽤
  9. select count(*) from goods group by company;
  10. select * from goods;
  11. select company, count(*) from goods group by company;
  12. -- 说明: 其他字段没有实际意义(只要⼀组数据中的⼀条)
  13. select price, count(*) from goods group by company;
  14. -- 扩充: 分组后条件过滤
  15. -- 说明: group by 后增加过滤条件时, 需要使⽤ having 关键字
  16. -- 注意:
  17. -- 1. group by 和 having ⼀般情况下需要配合使⽤
  18. -- 2. group by 后边不推荐使⽤ where 进⾏条件过滤
  19. -- 3. having 关键字后侧可以使⽤的内容与 where 完全⼀致(⽐较运算符/逻
  20. 辑运算符/模糊查询/判断空)
  21. -- 3. having 关键字后侧允许使⽤聚合函数
  22. -- where 和 having 的区别:
  23. -- where 是对 from 后⾯指定的表进⾏数据筛选,属于对原始数据的筛选
  24. -- having 是对 group by 的结果进⾏筛选
  25. -- having 后⾯的条件中可以⽤聚合函数,where 后⾯不可以

九 . 分页查询

  1. -- 查询当前表当中第5-10⾏的所有数据
  2. -- 分⻚查询: select * from 表名 limit start,count
  3. -- 说明: limit 分⻚; start : 起始⾏号; count : 数据⾏数
  4. -- 注意: 计算机的计数从 0 开始, 因此 start 默认的第⼀条数据应该为 0,
  5. 后续数据依次减1
  6. -- 过渡需求: 获取前 5 条数据
  7. select * from goods limit 0, 5;
  8. -- 注意: 如果默认从第⼀条数据开始获取, 则 0 可以省略!
  9. select * from goods limit 5;
  10. -- 需求:
  11. select * from goods limit 4, 6;
  12. -- 扩展 1: 根据公式计算显示某⻚的数据
  13. -- 已知:每⻚显示m条数据,求:显示第n⻚的数据
  14. -- select * from 表名 limit (n-1)*m, m
  15. -- 示例: 每⻚显示 4 条数据, 求展示第 2 ⻚的数据内容
  16. select * from goods limit 0, 4; -- 第1⻚(有数据)
  17. select * from goods limit 4, 4; -- 第2⻚(有数据)
  18. select * from goods limit 8, 4; -- 第3⻚(有数据)
  19. select * from goods limit 12, 4; -- 第4⻚(⼀共 12 条数据, 每⻚显示
  20. 4 条, 没有第 4 ⻚数据)
  21. -- 扩展 2: 分⻚的其他应⽤
  22. -- 需求: 要求查询商品价格最贵的数据信息
  23. select * from goods order by price desc limit 1;
  24. -- 进阶需求: 要求查询商品价格最贵的前三条数据信息
  25. select * from goods order by price desc limit 3;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/730111
推荐阅读
相关标签
  

闽ICP备14008679号