三.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: 让心情告一段落 当事情一天的事情告一段落的时候,内心就会彻底放下 ...
随机推荐
- Trie 的一类应用
\(\text{Trie}\) 先从 [十二省联考 \(2019\)] 异或粽子 谈起 不难想到堆加可持久化 \(Trie\) 的做法 这就和 \(\text{[NOI2010]}\) 超级钢琴 类似 ...
- JZOJ 3494. 【NOIP2013模拟联考13】线段(segment)
题目 数轴上有很多单位线段,一开始时所有单位线段的权值都是 \(1\).有两种操作,第一种操作将某一区间内的单位线段权值乘以 \(w\),第二种操作将某一区间内的单位线段权值取 \(w\) 次幂.并且 ...
- let 和 var 的区别
var 关键字 在块级作用域中使用var声明变量,外面同级的块级作用域也可以访问.if.switch.for 等语句的作用域都没有块级作用域,所以说,在这些语句中声明的变量都能被外界访问,这是非常不安 ...
- 如何设置QGraphicsItem线宽不随QGraphicsView缩放而变小或变大
很简单,只需要重写一下Item中的paint()方法 void my_line_item::paint(QPainter *painter, const QStyleOptionGraphicsIte ...
- Google Earth Engine——基于新的Landsat SR数据集去云处理
根据GEE官方公告,明年原来的Landsat/LT05/C01/T1_SR和Landsat/LC08/C01/T1_SR数据集将停止更新,并提供了新的地表反射率数据,就是LANDSAT/LT05/C0 ...
- SpringBoot启动失败问题
SpringBoot启动失败问题 一.现象 pom.xml没有显示报错,也能查看到各种需要的依赖jar包,但在启动时显示 二.原因 网络不好导致maven导包失败或者导包不完整 三.解决办法 进入项目 ...
- 2022-05-20内部群每日三题-清辉PMP
1.一位团队成员通知项目经理有一个问题可能会破坏项目.项目经理将该问题添加到问题日志中,并要求团队找到解决方案. 项目经理下一步应该怎么做? A.更新风险登记册 B.修订项目管理计划 C.确定适当的风 ...
- Unity3D使用脚本动态创建、调用动画(转)
原文链接: https://blog.csdn.net/pigautumn/article/details/81781403 需求场景:由若干个数量不确定的物体从上到下排列,需要间隔0.1s依次从左到 ...
- macOS 系统安装提示应用程序副本已损坏的解决方法
错误预览: 操作方法,关闭Wi-Fi,网线(以修改时间为 2020 为例): 再次尝试安装吧...
- JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)
一.环境部署 后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解. 第一步:安装所需要版本的JDK,本次使用的是JDK 1.8 下载地址:http://www.or ...