chap3 SQL初步

No1概览:
1、Data-Definition-Language:数据定义语言:定义relation 模式,以及删除、修改
2、Data-Manipulation-language:数据操作语言:查询、修改tuple
3、完整性(integrity)、视图定义、事务控制(transaction control)定义事务的开始和结束
No2关于类型的备注(可以直接猜出的不记录)
numeric(p,d):p位数字,其中d位在小数点右边
real:浮点数,double precision双精度浮点数
No3模式定义
1、creat table命令(我觉得类似stata等软件的命令):创造一个表,显式表达,类似定义函数的过程,类型+变量名,最后还有主码是谁,完整性约束:主码、外码、非空
2、insert:
insert into xxx(插入的table的名字)
values()对应元组的格式
3、delete 删除tuple保留table,drop删除table
4、alter table xxx add/drop A(属性名字) D(属性的域)
No4基本查询结构
1、select xxx from xxx
加distinct去除重复
加逗号分隔开属性,属性可以加减乘除
加where 整出限制条件where的表达式的逻辑运算是and、or、not
加多relation也可以,记得共有属性要加一个xxx.xxx
最后,没法加蛋(
select
from
where
注意顺序
2、自然连接
from xxx natural join xxx
匹配各个属性的值相同的元组
xxx join xxx using (xxxx)利用using里面的属性来做判别的条件
No5附加运算
1、as:select xxx as xxx,from xxx as xxx
2、xxx%,匹配以xxx打头的字符串,%xxx%匹配含有xxx的字符串, _ _ 匹配只含三个字符的字符串, _%匹配至少3个字符的字符串
用where xxx like 'xxxxx’来表达模式
\仍然是转义字符
3、显示次序,order by xxx(desc/asc,默认使用升序)
4、between xxx and xxx可以替换表达范围的句子
5、union、intersect、except:交并差运算(差运算是上减去下)
(select xxxx

union
(select xxxx

6、unknown
这个运算法则有点神奇,我们如果理解为trueRunknown,unknownRfalse
No6聚集函数
avg 、count、 min等数据处理函数
select avg(xxx)
等格式
在count等时候注意使用distinct来处理,以防止重复计数
增加分组:group by
在group by 后面跟上一句having 可以给分组之后的结果一个限定条件,来进行筛选
(注意属性啥的都要是有的,不然操作会出错)
尽量避免空指,anyway也有some、every俩来处理布尔值的函数
No7嵌套
如;

select distinct coursr_id
from section
where semester = 'Fall' and year=2021 and
	course_id not in (select course_id
				    from section
				    where semster = 'Spring' and year = 2010);
	

至少比一个大用:
where xxx>some(select xxx
from xxx
where xxx)
这个算是集合的比较,感觉类似数理逻辑里的东西

另外补充一下,还有all(xxx
xxx
xxx

的写法,all和之前的every又区别开了
实际上<>all也是可以的,相当于not in
空关系测试exists(xxx
xxx
xxx

这个返回值,顾名思义也是布尔值
另外,之前讨论的子查询中,子查询只能使用该子查询中定义的名称,正如c里面的作用域
unique查询我们的查询结果是否有重复,与前文的类似
返回的是布尔值
思考——select - from - where返回的都是table,所以我们可以把这个插入到from中做到子查询
总结:在xxx的xxx中查询xxx的xxx,表明实际上我们这两个xxx不一定要是最初始的table中查询的,因此我们可以在这个地方也就是where、from中嵌套新的查询,而我们要查询怎样的信息也可以替代在xxx的xxx中查询xxx的xxx,怎样则由一系列条件的限定来决定
临时关系也是需要的,用with,实际上就是把嵌套里面会用到的内容提出来,就是为了简化过程
delete from xxx
where xxx用于选择条件的删除,删除前最好检验一下是否存在
insert into xxx
xxx
向xxx中插入元组
No8更新
update - set- where

update instructer
ser salary=salary*1.05
where salary <70000

if结构,case
when xxx then xxx
when xxx then xxx
else xxx

else应该是必须要的,为了保证不出bug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值