首页 > 代码库 > Mysql 练习 总结
Mysql 练习 总结
一. 总结
首先回顾: 连接查询(几张表连在一起 组成一个大表 在进行查询 ---易忘) 子查询 联合查询 详见 基础篇
建表顺序:首先 建主表 再建从表 填写内容也一样 先填写主表 在填写 从表
小括号:
1. 小括号 可以表示 独立运算的部分
2.带小括号的是方法 () 比如 count(); where 寻找指定行:
#---查询95033班和95031班全体学生的记录。 select * from Student ,Course, Score where Student.Sno=Score.Sno and Course.Cno=Score.Cno and ( class=‘95033‘or class=‘95031‘)
关键词 :
逗号 很重要; 所有语句 几乎都可以嵌套使用
select.. from ; where ; group by having ; order by
distanct ; or ;in ; and ; not
1.not : not in (看前面 mysqle 基础) 和 not like
#- 查询Student表中不姓“王”的同学记录。 select * from Student where Sname not like‘王%‘
2. group by 和 where , count(*)连用的时候 注意 [带小括号的表示方法}
首先定义:聚集函数:一种函数,它对一组行中的某个列执行计算,并返回单个值。 1.where 和 having 简单的讲,where的条件是字段;而having 的条件可以是字段,也可以是聚集函数; 重要的是,where是筛选源数据,having多与group by 一起使用,并且条件常常是聚集函数;当有group by 时,having在group by 条件的后面,而where 在group by的前面。 聚集函数:sum,count,avg ...等等; 2.count和sum count 是‘累计’; sum是‘累加’; 还是上面的表a_info中; 查询每个年级中分数大于60的有多少人以及他们的平均分,总分是多少: 3.sql语句的执行顺序: (1)from 选取数据源; (2)where 筛选数据源; (3) group by 将筛选的数据源分组; (4)使用聚集函数计算; (5)having 筛选分组的数据; (6)计算表达式; (7)order by 排序;
#----查询至少有2名男生的班号。 select class from Student where Ssex=‘男‘ group by class having count(*)>=2
3.distanct: 使用方法 见 基础部分 不做赘述
4.获取时间 年月日 详见 下一篇 博客 以下简略
获取的 为整数 可以进行大小比较:
获取年 year(时间所在列名)----列名不加引号
获取 当前时间 date(now())
获取 天 date(时间所在的列)
#----查询Student表中每个学生的姓名和年龄。 select Sname,year(now())-year(Sbrithday ) from Student #---查询Student表中最大和最小的Sbirthday日期值。 select Sname, max(date(sbrithday)) from Student union select Sname, min(date(sbrithday)) from Student #---以班号和年龄从大到小的顺序查询Student表中的全部记录。 select * from Student order by class,year(Sbrithday);
Mysql 练习 总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。