MySQL数据库总结笔记第四章

本文介绍了SQL查询的基本操作,包括等值查询、不等值查询、关系比较、逻辑运算、区间查询、模糊查询以及排序(ORDER BY ASC/DESC)、分页(LIMIT)操作。还讲解了聚合函数如SUM、AVG、MAX、MIN的使用,以及GROUP BY分组和HAVING条件筛选。此外,讨论了别名的设置和DISTINCT关键字在去重查询中的应用。
摘要由CSDN通过智能技术生成

第四章

总结笔记:

一.条件查询 where
    1.等值查询 =
        select * from student where id=1;
    2.不等值查询 != (< >)
        查询年龄不是20岁的学生信息
        select * from student where age!=20;
    3.关系比较查询 < <= > >=
        查询年龄不是20岁的学生信息
        select * from student where age>20;
    4.逻辑运算查询 and or
        and 满足所有条件  or只需要满足其中一个条件
        查询年龄是小于21岁并且住址是郑州
        select * from student where age<21 and address="郑州";
        查询年龄小于21岁或者住址是郑州的
        select * from student where age<21 or address="郑州";
    5.区间查询 between .. and (包含边界值)
        查询年龄是18岁和21岁之间
        select * from student where age between 18 and 21;
    6.模糊查询 like
        ① %(匹配0-n个字符)
        查询学生表中名字包含x的学生信息
        select * from student where stuname like '%x%';
        ② _ (匹配一个字符,相当于一个占位符)
        查询学生表中地址第二个字为京的信息
        select * from student where adderss like '_京';
二.排序查询 order by  asc升序 desc降序
    语法:select * from 表名 (where 条件) order by 排序的字段 asc/desc
    1.查询学生信息按年龄从大到小排序
        select * from student order by age desc;
    注意:排序条件可以是多个字段,多个字段之间使用逗号隔开,asc/desc关键字作用于前面的字段
    2.limit 限制查询几条信息 
      limit 1个参数     limit 2个参数  第一个参数代表从哪里开始,第二个参数代表要查询几条数据(mysql中数据从0开始数)
      查询前3条数据  select * from 表名 limit 3;
      查询从第2条开始的3条数据   select * from 表名 limit 1,3;
三.聚合函数 是针对于一组数据产生一个结果
    1.sum() 求和
        查询所有学生年龄总和
        select sum(stuage) from student;
    2.avg() 求平均值
        查询所有学生年龄平均值
        select avg(stuage) from student;
    3.max() 求最大值
        查询所有学生年龄最大的
        select max(stuage) from student;
    4.min() 求最小值
        查询所有学生年龄最小的
        select min(stuage) from student;
    5.count() 统计查询
        查询所有数据 两种写法等效
        select count(*) from student;
        select count(1) from student;
        注意:如果指定字段的值为空,会自动忽略
四.分组语句 group by
    语法:select 字段名 from 表名 group by 分组条件;
    说明:group by 后面跟分组条件字段
    查询班级信息分组显示
    select className from class group by className;    
    书写注意事项
     ①只有出现在group by后面的字段,才能单独出现在select后面
     ②如果要在group by语句种进行结果的排序,那么排序字段也必须是group by后指定的字段和结果的字段
     ③如果group by子句种的字段使用了某个单行函数,那么select子句种的字段也必须使用相同的单行函数
五.having语句 对分组后的数据再次进行筛选
    语法:select 字段 from 表名 where 条件 group by 分组条件 having 条件
    查询借书卡信息表种班级人数大于1的班级
    select class from card group by class having count(cno)>1;   先对班级进行一个分组,在使用聚合函数计算班级人数
    注意:①和聚合函数混合使用只能用having语句
          ②当使用where或having都能满足一个需求时,优先使用where
六.起别名
    语法:① select 字段名1 as 新名字,字段名2 as 新名字... from 表名;
          ② select 字段名1 新名字,字段名2 新名字... from 表名;
          ③ select 字段名1 "新名字",字段名2 "新名字"... from 表名;
七.其他
    1.表达式 计算总价
    创表的时候 设计价格这个字段 
    将float类型改为decimal(数值1,数值2)  数值1代表小数点前面整数位为多少位,数值2代表小数点后面保留几位小数
    查询总价格
    select 单价*数量 from 表名;
    2.去重 distinct(如果遇到重复的去除掉,只显示一遍)
    查询借阅卡表中包含的班级有哪些
    select distinct class from card;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值