三.database阶段回顾
阶段回顾:
1.mysql:文件管理软件
2.三部分:
服务端
sql语句
客户端
3.客户端
mysql
navicat
4.授权操作
用户操作
授权操作
5.sql语句
数据库操作
create database xx default charset utf8;
drop database xx;
数据表
列
数字 decimal
整数
小数
字符串
时间 datatime
其他:引擎,字符表,起始值
主键,一个表只能有一个主键,非空且唯一,自增。主键索引。索引是加速查找
唯一索引:独立存在,可以和外键联合起来,可以为空,有加速查找特性。
外键:具有约束功能,解决重复文字的问题
一对多
一对一
多对多:至少要3张表
数据行:
查
in not in
between and
limit
group by having
order by
like "%a"
left join xx on 关系
笛卡尔积关系
a表三条数据:1 2 3
select * from a as a1,a as a2;
产生9条冗余数据:
1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3
临时表:保持临时数据,将结果再进行操作
练习:
7.查找既选择课程1又选择课程2的学生ID与姓名
select * from score where course_id=1 and course_id=2;
同一列既是1又是2这么写有问题
select * from score where course_id=1 or course_id=2
select * from score where course_id=1 or course_id=2 group by student_id having count(student_id)>1;
select student_id from score where course_id=1 or course_id=2 group by student_id having count(student_id)>1;
select score.student_id,student.sname from score
left join student on score.student_id=student.sid
where course_id=1 or course_id=2 group by student_id having count(student_id)>1;
8.查询学过xx老师的所有课程,的学生学号,姓名
select * from course
left join teacher on course.tearch_id=teacher.tid
where teacher.tname="空空";
select * from course
left join teacher on course.tearch_id=teacher.tid
where teacher.tname="空空";
select student_id from score where course_id in
(
select cid from course
left join teacher on course.tearch_id=teacher.tid
where teacher.tname="空空"
)
group by student_id having count(course_id)=
(
select count(cid) from course
left join teacher on course.tearch_id=teacher.tid
where teacher.tname="空空"
)
10.查询成绩小于60的学生,的学生学号,姓名
select * from score
left join student on score.student_id=student.sid where score.number>60
select * from score
left join student on score.student_id=student.sid where score.number>60
group by student_id
select score.student_id,student.sname from score
left join student on score.student_id=student.sid where score.number>60
group by student_id
distinct可以分组去重,但是使用group by也可以去重,最好用group by,distinct效率不高
select distinct student_id from score
left join student on score.student_id=student.sid where score.number>60
三.database阶段回顾的更多相关文章
- 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...
- 3星|《刷新》:微软第三任CEO上任三年后的回顾
刷新:重新发现商业与未来 作者是微软第三任CEO,2014年2月上任.本书英文版出版于2017年9月,全书内容大致截至于2017年年初,算是作者上任三年后的回顾. 书中作者讲了不少自己的个人经历.作者 ...
- alhpa阶段回顾
说明:本次课程,大家按照我下面列出来的问题进行回顾和反思,总结alhpa阶段以来的得失.每个组都要回答这些问题.由组长或者组员来回答都可以.目的依然是让大家养成软工的一些习惯和思维方式. 1.最初的需 ...
- JVM(13)之 阶段回顾
开发十年,就只剩下这套架构体系了! >>> 各位小伙伴,到上一篇博文为止,我们的内存模型相关知识就已经讲完了!讲!完!了!不知道大家吸收了多少,这里我们简单的来回顾一下吧! ...
- Andrew Ng机器学习第三章——线性回归回顾
一些概念: 向量:向量在矩阵中表示为只有一列的矩阵 n维向量:N行1列的矩阵. 利用矩阵计算可以快速实现多种结果的计算. 如下图,给出四个房子大小的样本,有四个假设函数对房子价格进行预测.构造下面的矩 ...
- OO第三次阶段总结
(1)调研,规格化设计的大致发展和为什么得到人类重视 结构化程序设计(英语:Structured programming),一种编程范型.它采用子程序(函数就是一种子程序).代码区块.for循环以及w ...
- Spring框架的第三天
## Spring框架的第三天 ## ---------- **课程回顾:Spring框架第二天** 1. IOC的注解方式 * @Value * @Resource(name="" ...
- #Java学习之路——基础阶段二(第十二篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- [自娱自乐] 3、超声波测距模块DIY笔记(三)
前言 上一节我们已经研究了超声波接收模块并自己设计了一个超声波接收模块,在此基础上又尝试用单片机加反相器构成生成40KHz的超声波发射电路,可是发现采用这种设计的发射电路存在严重的发射功率太低问题,对 ...
- GTD中回顾闭环
一: 回顾的作用 :让事情告一段落 A: 回顾已经完成---->找到成就感 B: 安排未完成----->做到心中有数 2: 让心情告一段落 当事情一天的事情告一段落的时候,内心就会彻底放下 ...
随机推荐
- JZOJ 3469. 【NOIP2013模拟联考7】数列(sequence)
\(\text{Solution}\) 明显的 \(\text{K-D Tree}\) 基操题 提前给出了数列,那么考虑提前建好树,省去重构 但还是要开 \(O\) \(\text{Code}\) # ...
- POJ1737 连通图
一句话题意:求一个 \(n\) 点带编号的连通图数量. 吐槽一下:好好一道计数 dp 为什么不加取余????逼着选手写高精度的出题人应该拎出去烧--哦楼天城是出题人是吧哦当我没说我什么都没说我现在就把 ...
- CF837G - Functions On The Segments
我们考虑 \(\sum_{i=l}^r{f_i(x)}\) 是个什么东西.首先这个奇怪的东西很好离线做,所以尽管题目要求强制在线,我们还是离线下来试试. 我们发现,我们可以 \(x\) 坐标从 \(1 ...
- 溢出标志位OF与进位标志位CF判断
1.OF与CF概述 OF(Overflow Flag,溢出标志位):有符号数之间加减运算的溢出标志 CF(Carry Flag,进位标志位):无符号数之间加减运算的溢出标志 快速判断(加法)(减法可转 ...
- 柯尼卡美能达C226打印机安装使用说明
安装驱动,选择通过IP地址安装 输入打印机IP 点击完成即可使用
- WPF里面触发器
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作. WPFtrigger的主要类型有:Trigger. ...
- Matplotlib 绘图线
绘图过程如果我们自定义线的样式,包括线的类型.颜色和大小等. 线的类型 线的类型可以使用 linestyle 参数来定义,简写为 ls. 类型 简写 说明 'solid' (默认) '-' 实线 'd ...
- call, apply,bind的区别与用法
call, apply,bind的区别 相同点:都可以用来改变this指向 不同点: call, apply:传参方式不同: ...
- 关于el-popover的箭头颜色
因为会从四个方向不定弹出 所以需要写入4个方向: 注意弹出框是动态插入body中的,需写入根部样式中 如果有多个地方用到且颜色都不一样,可以用类名区分,elm提供了 然后把前面的 .el-popper ...
- 删除指定 route ip 段
route del -net 172.18.0.0 netmask 255.255.0.0