MySQL--->高级查询

高级查询

decimal(5,2)数据保存几位  用于计算成本

  • #查询借阅图书表信息中图书加个介于20-1000的图书信息
    SELECT * from books where (price>20 and price<100);

  • SELECT *  FROM books where price  between  20 and 1000

    1-2或

  • #查询借阅图书信息中图书价格小于20或者大于100的图书信息
    select * from books where price <20 or price > 100;

  2.起别名

  • #查询借阅图书信息表列名使用别名显示
    SELECT   列名  as  别名 ,  列名  as  别名  from  表名;

  3.排序:order  by    desc  降序   asc   升序

  • order    by    字段   升序(降序)
  • SELECT * from books ORDER BY price desc;

  • SELECT * from books ORDER BY price asc;

  3.限制返回次数   limit (次数)

  •  SELECT  *  from    books   LIMIT 3;
  •   SELECT *  from    books   LIMIT 1,3;(条件)

   4. #消除重复

  • SELECT DISTINCT class from info;

    5.like   模糊查询

  SELECT * FROM  books where bname like '%三%';

   聚合函数:

  主要的聚合函数:

  • 计数函数:count(列名) 计算元素的个数 (如果有null值是不会计算的)
  • 求和函数:sun(列名) 对某一列的值求和,但是属性必须是整形
  • 计算平均值;avg(l列名)对某一列的值计算平均值
  • 求最大值:max(列名) 找出某一列的最大值
  • 求最小值:min(列名)找出某一列的最小值
  • #查询书籍表里面的所有书的总数量
    SELECT sum(quanitity) as 总数量 from books;
    #查询书籍表里面平均价格
    SELECT avg(price) as 平均价格 from books;
    #查询书籍信息里面书的最低价格
    SELECT min(price) as 最低价 from books;
    #查询书籍信息表里面书的最高价格
    SELECT max(price) as 最低价 from books;

   SELECT count(cno) as 总数  FROM info;

   group  by  分组查询:

  1. SELECT 列名   FROM info GROUP BY 列名;(根据某一字段查询)

    having子句:(配合聚合函数使用 只能使用having)

  • #查询借书卡信息表中班级人数大于1的班级
  • SELECT class from info GROUP BY class HAVING count(cno)>1;
原文地址:https://www.cnblogs.com/wyk1/p/13419100.html