【Access】Access:SQL 语句汇总
目录
一、SQL 的功能
二、考试重点
三、关系的定义
(1)新建关系
(2)删除关系
四、SQL 的「数据查询」功能
(1)基本结构
① Select 语句的基本结构
② Select 子句
③ Where 子句
④ 空值的处理
(2)聚集函数
① Select 子句
② Group By 子句
③ Having 子句
④ Order By 子句
⑤ 空值的处理
(3)集合运算
① From 子句:笛卡儿积
② From 子句
(4)连接关系
① 条件连接 / 内连接
② 外连接
③ 左外连接
④ 右外连接
⑤ 左 / 右外连接
⑥ 全外连接
五、SQL 的「数据修改」功能
(1)插入:Insert 语句
① 格式一
② 格式二
(2)删除:Delete 语句
(3)更新:Update 语句
六、汇总
① 创建表格
② 插入数据
③ 查询数据
④ 更新数据
⑤ 删除数据
⑥ 连接数据
⑦ 排序数据
⑧ 分组数据
⑨ 创建索引
⑩ 删除索引
一、SQL 的功能
SQL 功能 | 操作语句 | 备注 |
数据定义 | CREATE,ALTER,DROP | |
数据查询 | SELECT | 数据查询与数据修改又合并称为数据操纵 |
数据修改 | INSERT,UPDATE,DELETE | |
数据控制 | GRANT,REVOKE,…… |
二、考试重点
【Access】win 10 / win 11:Access 下载、安装、使用教程(「管理信息系统」实践专用软件)
https://gusanshang.blog.csdn.net/article/details/130353056【本科自考】
自考院校:[508] 610 华南师范大学(面向社会)
自考专业:[080901] 计算机科学与技术
自考科目:[02383] 管理信息系统
自考方式:上机实践考核
自考工具:Access
① Excel 数据导入
② 创建表 create table
③ 单表查询 select from where group by having order by
- 集合函数
④ 多表查询
- 笛卡儿积
- 条件链接\内连接
- 左外连接、右外连接、全外连接(没有)
- 嵌套查询
⑤ 数据的增删改 update、delete、insert
三、关系的定义
(1)新建关系
新建关系:即新建数据库中的表,命令格式如下
create table 关系名(属性名 域 [default 缺省值] [not null ]{ , 属性名 域 [default 缺省值] [not null ] } [ , primary key (属性名 {, 属性名}) ]{ , foreign key (属性名 {, 属性名}) references 被参照关系名 (属性名 {, 属性名}) }[ , check (条件) ] )
示例 1:
create table S (SNAME PERSON-NAME not null ,AGE SMALLINT default 22,SEX VARCHAR (1),primary key (SNAME ),check ( AGE<200 and AGE>0 ))
示例 2:
create table R ( SName VARCHAR(4), CName VARCHAR(4),RESULT INT,primary key (SName, CName),foreign key (SName) references S (SName),check ( (RESULT IS NULL) OR(RESULT BETWEEN 0 AND 100) ) )
(2)删除关系
删除关系:即删除数据库中的表 ,命令格式如下
drop table 关系名
【注意 Warning! 】
删除关系的定义后,关系的结构和内容、相关索引、以及由它导出的视图都被删除。
示例:
drop table SC
四、SQL 的「数据查询」功能
- 基本结构
- 聚集函数
- 集合运算
- 连接关系
(1)基本结构
① Select 语句的基本结构
语义次序:
From (取出R1表中的记录) → Where (选择符合条件的行) → Select (选择显示的列)
② Select 子句
作用:从 (From 子句列出的) 关系中选出指定属性
要点:属性列表中,可以用表达式来构造的新属性
- 相当于广义投影运算
示例:
- S: 学生关系
- 问:所有学生的姓名和年龄?
Select 姓名, 年龄 From S
- 问: 每个学生的出生年份
Select 姓名, 2020 - 年龄 From S
用表达式构造的新属性无属性名,但可采用以下方式命名 表达式 as 属性名 原有属性也可用如下方式重新命名 旧属性名 as 新属性名 示例:
Select 姓名 as 学生姓名, 2020 - 年龄 as 出生年份 From S
要点:Select 后面,属性列表前,可加上关键字 all 或者distinct
- all 关键字表明结果中不消去重复元组
- distinct 关键字表明结果中消去重复元组
- 没说明 all 或 distinct 的情况下,默认是 all ,即不消去重复行
示例:
Select all 课程 From R
Select distinct 课程 From R
③ Where 子句
作用:选出满足条件的行
- 等价于选择运算
【Where 子句】条件中的运算符号 运算符号 格式 示例 备注 比较运算符 ①<
②<=
③>
④>=
⑤<>逻辑运算符 ① and
② or
③ not范围运算 ① between 下界 and 上界
② not between 下界 and 上界① 年龄 between 20 and 23
② 年龄 between 23 and 20(下界<上界) 集合运算 ① in 集合
② not in 集合① 姓名 in { '小陈’ , '小李’ }
② 姓名 not in { '小陈’ , '小李’ }匹配运算 ① like 匹配串
② not like 匹配串① 姓名 like '陈*’
② 姓名 like '陈??’① 'wh*' 将找到 what、white 和 why,但找不到 awhile 或watch
② ? 匹配任意单个字母字符
③ %代表任意多个字符
示例:
- S :学生关系
- 问:所有男学生的信息?
Select * From S Where 性别='男'
![]()
- 问:所有大于 22 岁的男学生的信息?
Select * From S Where 性别='男' and 年龄>22
④ 空值的处理
空值判定
A is [not ] null
判断指定 A(属性,表达式等)的值是否为空值
示例:
- 找出年龄值未知的员工姓名
- 正确语法
Select 姓名 From employee Where 年龄 is null
- 错误语法
Select 姓名 From employee Where 年龄= null
(2)聚集函数
① Select 子句
- sum(字段):对字段的所有值求和,忽略空值
- avg(字段):对字段的所有值求平均值,忽略空值
- count(*) :统计记录的总数 count(字段):统计字段值的总数,忽略空值
- max(字段):对字段的所有值求最大值,忽略空值
- min(字段):对字段的所有值求最小值,忽略空值
② Group By 子句
Group By 子句的作用:在 Where 子句筛选出元组后,对它们分组
- 分组属性: 属性1,属性2,……
同时 Select 子句的作用发生变化:对分组进行统计
1. 每个分组在结果中被统计为一个元组
2. 在 Select 子句出现的属性只能是:
① 分组属性
② 聚集函数(任意属性)
③ 由①和②组成的表达式
示例:
- 关系 R: 选修成绩
- 问: 每门课程的平均和最高成绩?
Select 课程, Avg(成绩) as 平均成绩, Max(成绩) as 最高成绩 From R Group By 课程
③ Having 子句
出现在 Group By 子句后面:
- Having 子句只能配合 Group By 子句使用,而不能单独出现
Having 子句作用:在分组后,筛选满足条件 Q 的分组
在分组限定条件中出现的属性只能是以下形式:
① 分组属性
② 聚集函数(任意属性)
Having 子句中的条件和 Where 子句中条件的不同:
1. Where 子句中的条件用于限定元组,施加在单个元组上
- 不满足条件的元组将不会参与到下一步的分组运算 (Group By 子句) 或投影运算 (Select 子句) 等
2. Having 子句中的条件用于限定 Group By 子句产生的各个分组,施加在整个分组上
- 不满足条件的分组,将不会参与下一步的统计运算 (Select 子句)
示例:
- 关系 R: 选修成绩
- 问: 平均成绩大于85的学生姓名?
Select 姓名 From R Group By 姓名 Having Avg(成绩) > 85
- 问: 成绩大于 85 的学生姓名? (对比以上问题)
Select distinct 姓名 From R Where 成绩 > 85
④ Order By 子句
Order By 子句的作用:在 Select 子句得出结果后,对结果进行排序
- 先按属性1的值,升序(asc)或降序(desc)排列,缺省是升序;
- 属性1的值相同时,再按属性2值升序或降序排列…
示例:
R: 选修关系
问: 从高到低列出物理课程的成绩
Select 姓名, 成绩 From R Where 课程='物理' Order By 成绩 desc
⑤ 空值的处理
示例:
Select avg(年龄) as 平均已知年龄, count (年龄) as 已知年龄人数, count (*) as 总人数, min(年龄) as 最小年龄,max(年龄) as 最大年龄 From employee
(3)集合运算
① From 子句:笛卡儿积
示例:
select ∗ from s,sc
② From 子句
要点:From 子句中,关系可用如下方式重命名
旧关系名 新关系名
- 等价于更名运算
- 一个关系在 From 子句中多次出现时,从第二次开始必须重命名
- 关系重命名后,Select 和 Where 子句中的前缀是使用新的关系名
示例:
- 关系 R: 选修成绩
- 问: 谁的物理成绩高于王红的物理成绩?
Select S.姓名 From R, R as S Where R.课程='物理' and R.姓名='王红' and S.课程='物理' and R.成绩 < S.成绩
(4)连接关系
连接类型:
- inner join : 内连接,结果不包含失配元组 * (备注:* 这里失配元组指的是因不满足连接条件,无法和其它元组相连接的元组)
- outer join : 外连接,结果包含失配元组 * (备注:* 这里失配元组指的是因不满足连接条件,无法和其它元组相连接的元组)
- left outer join : 左外连接,结果包含左边关系的失配元组
- right outer join : 右外连接,结果包含右边关系的失配元组
- full outer join : 全外连接,结果包含两边关系的失配元组
① 条件连接 / 内连接
示例:
select ∗ from s,sc where s.sno=sc.sno
select ∗ from s inner join sc on s.sno=sc.sno
② 外连接
示例:
select ∗ from s right outer join sc on s.sno=sc.sno
select ∗ from sc left outer join s on s.sno=sc.sno
③ 左外连接
示例:
Select Emp.姓名, Dept.名称 as 部门 From Emp left outer join Dept on Emp.部门号=Dept.部门号
④ 右外连接
示例:
Select Emp.姓名, Dept.名称 as 部门 From Emp right outer join Dept on Emp.部门号=Dept.部门号
⑤ 左 / 右外连接
示例:
select ∗ from s left outer join sc on s.sno=sc.sno
select ∗ from sc right outer join s on s.sno=sc.sno
⑥ 全外连接
示例:
Select Emp.姓名, Dept.名称 as 部门 From Emp full outer join Dept on Emp.部门号=Dept.部门号
五、SQL 的「数据修改」功能
- 插入:Insert 语句
- 删除:Delete 语句
- 更新:Update 语句
(1)插入:Insert 语句
① 格式一
注意:
- 所列值的个数必须和属性的个数相等,且一一对应
- 在插入的新元组中,对没有指定的属性填入缺省值(Create Table时定义),没有缺省值时填入空值
示例:
Insert Into R Values (‘刘朝', '物理', 80)
示例:
- 新建表 S
Create Table Student (学号 VARCHAR (4),姓名 VARCHAR(10) not null,年龄 SMALLINT default 22,班级 VARCHAR(20) )
- 在 S 中插入元组
Insert Into Student (学号, 姓名) Values (1, '小刘')
② 格式二
注意:
同样地,对其它的属性填入缺省值或空值
示例:
- 添加所有学生选修数学课程的信息
Insert Into R(姓名, 课程) Select 姓名,课程 From S, C Where 课程='数学'
(2)删除:Delete 语句
说明:
- 在关系中找到满足条件的元组,并删除之
- 如果没有 Where 子句,表示删除关系的全部元组 (保留结构)
- 一次只能删除一个关系中的元组
示例:
- 删除全部选修信息
Delete From R
(3)更新:Update 语句
说明:
- 在关系中找到满足条件的元组,然后更新:表达式1的值赋予属性1;表达式2的值赋予属性2……
- 没有 Where 子句时,则对关系的全部元组都要更新
示例:
- 给销售部门的职工增加10%的工资
Update employ Set 工资=工资*1.1 Where 部门='销售'
六、汇总
具体 SQL 实战操作查看我的另一博文:
【Access】实战:Access 操作 SQL 「学生」
① 创建表格
CREATE TABLE table_name
( column1 datatype, column2 datatype, column3 datatype, ..... );
② 插入数据
INSERT INTO table_name (column1, column2, column3, ....)
VALUES (value1, value2, value3, ....);
③ 查询数据
SELECT column1, column2, ...
FROM table_name
WHERE condition;
④ 更新数据
UPDATE table_name
SET column1 = value1, column2 = value2, ....
WHERE condition;
⑤ 删除数据
DELETE FROM table_name
WHERE condition;
⑥ 连接数据
SELECT *
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
⑦ 排序数据
SELECT column1, column2, ...
FROM table_name
ORDER BY column1
ASC/DESC, column2
ASC/DESC, ...;
⑧ 分组数据
SELECT column1, SUM(column2)
FROM table_name
GROUP BY column1;
⑨ 创建索引
CREATE INDEX index_name ON table_name
(column1, column2, ...);
⑩ 删除索引
DROP INDEX index_name ON table_name;
相关文章:

【Access】Access:SQL 语句汇总
目录 一、SQL 的功能 二、考试重点 三、关系的定义 (1)新建关系 (2)删除关系 四、SQL 的「数据查询」功能 (1)基本结构 ① Select 语句的基本结构 ② Select 子句 ③ Where 子句 ④ 空值的处…...

【小样本分割 2022 ECCV】SSP
文章目录 【小样本分割 2022 ECCV】SSP摘要1. 介绍2. 相关工作3. 自支持小样本语义分割3.1 动机3.2 自支持原型-SSM3.3 自适应自支持背景原型-ASBP3.4 自支持匹配-SSL 3. 代码 【小样本分割 2022 ECCV】SSP 论文题目:Self-Support Few-Shot Semantic Segmentation 中…...
Friendlycore增加inodes数量
背景:为Nanopim1安装了core系统,tf卡大小64G,安装后正常扩展到了整个tf卡,但是在安装hass的docker显示磁盘空间不够,最终发现是inode被用完了。其inode只有960K,但是16G卡树莓派系统的inodes都是其两倍。 一…...
Latex 定理和证明类环境(amsthm)和(ntheorm)的区别
最近在写毕业论文,出现了一些定理和证明的环境的问题,问题出现在对两个包的理解程度不够的问题上: \RequirePackage{ntheorem} 1、\newtheorem*{proof}{\hspace{2em}证:} 这个是让证明失去计数原则,该命令不能用于 amsthm 2…...
Yolov8改进---注意力全家桶,小目标涨点
💡💡💡💡💡💡💡💡💡💡注意力全家桶💡💡💡💡💡💡💡💡💡💡💡 基于Yolov8的注意力机制研究,提升小目标、遮挡物、难样本等检测性能...

[Linux]网络连接、资源共享
⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Linux基础操作。本文主要是分享一些Linux系统常用操作,内容主要来源是学校作业,分享出来的…...

来上海一个月的记录、思考和感悟
作者 | gongyouliu 编辑 | gongyouliu 从4月3号早上来上海,到今天差不多整整一个月了,也是自己正式从杭州离职创业(我更愿意称之为自由职业者,毕竟我没有招聘全职员工,有两个朋友业余时间在帮我)的第一个月…...

学校信息化管理系统通常包含哪些功能?
学校管理信息化是现代教育发展的必然趋势,随着信息技术的飞速发展,学校管理也逐渐地实现了信息化。信息化的学校管理已经成为教育现代化建设的重要内容,也是提高学校教育教学质量和保障学生安全的重要手段。 作为一款低代码开发平台…...
Java时间类(三) -- Calendar()(日历类)
java.util.Calendar类是一个抽象类,它提供了日期计算的相关功能、获取或设置各种日历字段的方法。 protected Calendar() 构造方法为protected修饰,无法直接创建该对象。1. Calendar()的常用方法: 方法名说明static Calendar getInstance()使用默认时区和区域获取日历vo…...
【五一创作】QML、Qt Quick /Qt中绘制圆形
目录标题 Qt Quick中绘制圆形扩展知识Canvas 模块介绍Shapes 模块介绍 Qt Widgets 中绘制圆形两种方式的比较 Qt Quick中绘制圆形 有多种方法可以在 Qt Quick 中绘制圆形。以下是一些主要方法: 使用 Canvas 元素 使用 Shapes 模块: a. 使用 PathArc 和…...

【软考数据库】第七章 关系数据库
目录 7.1 关系数据库概述 7.2 关系代数 7.3 元组演算与域演算 7.4 查询优化 7.5 关系数据库设计 7.6 模式分解 前言: 笔记来自《文老师软考数据库》教材精讲,精讲视频在b站,某宝都可以找到,个人感觉通俗易懂。 7.1 关系数据…...
《SpringBoot中间件设计与实战》第1章 什么是中间件
一、写在前面 在互联网应用初期,所有用于支撑系统建设的,框架结构、基础工具、业务逻辑、功能服务包括页面展示等,都是在一个系统中开发完成,最终也只是把系统和数据库部署在同一台服务器上。也就是大多数开发者入门所接触到的 “单体” 系统。 那为什么会有中间件这个玩…...

spring常用的事务传播行为
事务传播行为介绍 Spring中的7个事务传播行为: 事务行为 说明 PROPAGATION_REQUIRED 支持当前事务,假设当前没有事务。就新建一个事务 PROPAGATION_SUPPORTS 支持当前事务,假设当前没有事务,就以非事务方式运行 PROPAGATION_MANDATORY…...

【Python】什么是爬虫,爬虫实例
有s表示加密的访问方式 一、初识爬虫 什么是爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析已成为如今主流的爬取策略爬虫可以做什么 你可以…...
JavaScript学习笔记(三)
文章目录 第7章:迭代器与生成器1. 迭代器模式2. 生成器 第8章:对象、类与面向对象编程1. 理解对象2. 创建对象3. 继承:依靠原型链实现4. 类class 第10章:函数1. 函数定义的方式有:函数声明、函数表达式、箭头函数&…...

文鼎创智能物联云原生容器化平台实践
作者:sekfung,深圳市文鼎创数据科技有限公司研发工程师,负责公司物联网终端平台的开发,稳定性建设,容器化上云工作,擅长使用 GO、Java 开发分布式系统,持续关注分布式,云原生等前沿技…...

深入了解SpringMVC框架,探究其优缺点、作用以及使用方法
一、什么是Spring MVC SpringMVC是一种基于Java的Web框架,与Spring框架紧密结合,用于开发具备WebApp特性的Java应用程序。Spring MVC是Spring Framework的一部分,因此它具有与Spring框架相同的特性和理念。 二、SpringMVC的优缺点 1. 优点…...

Git教程(一)
1、Git概述 1.1 、Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)…...

数据结构篇三:双向循环链表
文章目录 前言双向链表的结构功能的解析及实现1. 双向链表的创建2. 创建头节点(初始化)3. 创建新结点4. 尾插5. 尾删6. 头插7. 头删8. 查找9. 在pos位置前插入10. 删除pos位置的结点11. 销毁 代码实现1.ListNode.h2. ListNode.c3. test.c 总结 前言 前面…...

day10 TCP是如何实现可靠传输的
TCP最主要的特点 1、TCP是面向连接的运输层协议。( 每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)) 2、TCP提供可靠交付的服务。 3、TCP提供全双工通信。 4…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...

2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...