SQL第三章

本文详细介绍了SQL的数据定义,包括基本数据类型和模式定义,强调了类型与类型的差异。接着讲解了SQL查询的基本结构,如单关系查询、多关系查询、自然连接、集合运算等,并探讨了空值、聚集函数、嵌套子查询以及数据库的修改操作,如删除、插入和更新。
摘要由CSDN通过智能技术生成

3.2 SQL数据定义

3.2.1基本数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vSwQRKDX-1648233924012)(.\pic\image-20220325234949610.png)]
其中char类型和varchar类型虽然都是字符串,但是char会自动为字符串补空格为定长,而varchar类型不会。

因为char类型补空格缘故,可能两个变量A、B存储的值相同,但因为类型不同,“A=B”返回值为false。因此建议始终使用varchar类型。

3.2.2 基本模式定义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S7hZt1hl-1648233924014)(.\pic\image-20220325235631040.png)]
creat table r(......);创建关系时以分号结束。声明属性时:name type(可选),,括号内数目按照声明类型决定。

完整性约束(部分)
  • primary key 主码属性:必须非空且唯一。说明任一元组该值不为空,也没有两个元组的主码相同。
  • foreign key (A1,A2…) references s:指任一元组的 (A1,A2…) 取值与关系s中某元组在主码属性对应。
  • not null :该属性不允许有空值。

3.3 SQL查询的基本结构

3.3.1 单关系查询

关键词: select、from、where,即选择属性、选择的对象模式、选择条件
在这里插入图片描述
在这里插入图片描述

因为SQL语句是允许重复值存在的,所以默认选出的模式含有重复值。如果想要强制删除重复值,就要用到 select distinct 语句;同时也可以使用 select all 来显式表明保留重复值。

select子句中可以使用+、-、*、/运算符进行算术运算。
在这里插入图片描述
where子句中可以使用逻辑连词and、or、not,逻辑连词连接的对象可以是包含比较运算符<、<=、>、>=、=和<>的表达式。

3.3.2 多关系查询

为对多个关系模式进行查询,把需要访问的对象都放在from子句中,在where子句中指定匹配条件。
在这里插入图片描述
多个关系模式会有同名属性,可以用关系名做前缀说明选择的关系属性,比如 instructor.dept_name

SQL的查询含义可理解为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXixK507-1648233924018)(.\pic\image-20220326001726216.png)]

3.3.3 自然连接

在这里插入图片描述
from子句中默认是取多个关系模式的笛卡尔积,这时是对所有元组进行连接;使用natural join自然连接,他会对多个关系模式的同名属性取值相同的元组进行连接。同时两者可以一起使用,计算方式是从左到右逐个计算。
在这里插入图片描述
自然连接不一定能够替代条件笛卡尔积,因为自然连接时同名属性可能不止一个。这时可以用join...using语句指定属性名。
在这里插入图片描述

3.4 附加基本操作

3.4.1 更名运算 as

as子句可以出现在select子句中,也可出现在from子句中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IS510Fkp-1648233924022)(.\pic\image-20220326003024351.png)]
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值