数据设计三范式

一、数据设计三范式
1、数据库中表的列(字段)必须具有院子性,不可再分割,就是说讴歌列只能描述一种数据(含义)。
2、数据库中表的非主键字段不能存在部分依赖。(这些普通字段都必须依赖所有主键)
3、数据库中的表不允许存在传递依赖。
二、查询
1、where条件查询:
where条件必须是表中存在的字段,可以通过逻辑运算符合关系运算符进行条件筛选及过滤。

2、group by 分组查询:
使用group by 进行分组查询,对于分组的字段必须具有共性(多条数据有重复或者相同)
分组排序后使用分组查询select语句中只能使用两项内容:
聚合函数和分组字段
count()统计分组后各组数据的条数
sum(field)统计分组后各组数据指定的字段数据之和
avg(field)统计分组后各组数据指定的字段算数平均值
max(field)统计分组后各组数据指定的字段数据最大值
min(field)统计分组后各组数据指定的字段数据最小值
可以对多个字段进行分组,那么分组的顺序是先按照第一个字段分组,再按照第二个字段分组,依次类推。
group by classNo ,sex 

3、having 子句一般跟着group by 后面
作用:如果需要对分组之后的数据进行条件过滤或筛选,可以使用having 子句
如:查询每个班级人数在3人以上人数
select count(*) co from student group by classNo having co>3


4、order by 排序
使用order by 可以对数据按照某个字段排序,默认是升序,
order by 字段 asc    
如果使用降序 Order by 字段 desx
order by 必须在 group by having语句之后


5、limit 限制数量查询(用于分页)
如:
select * from student limit 3 查询前三个学生信息
select * from student limit 0,3 查询前三个学生信息
分页算法:
--分页查询(limit) 总条数 count总条数  line总页数
1、确定每页显示多少条数据
2、求出总页数 , page = count % line  > 0 ? (count/line)+1 : count/line   
3、limit start ,line  ; start = (pagenum -1)*line 


select * from student order by stuNo limit 0,3 --第一页
select * from student order by stuNo limit 3,3 --第二页 2-1  *3
select * from student order by stuNo limit 6,3 --第三页 3-1  *3


三、高级查询-连接查询
1、内联(两种写法)
select * from student s,classes c where s.classes = c.classNo
se;ect * from student inner join classes on s.classes = c.classNo



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值