- where子句用来筛选from子句中指定的数据源所产生的行数据,group by子句用来对经where子句筛选出来后的结果数据进行分组,having 子句用来对分组后的结果数据再进行筛选。建议将所有应该在分组之前进行的搜索条件放在where子句中而不是having子句中,这样会减少参与分组的数据行执行效率高。
- 内连接 select * from student inner join sc on student.sno = sc.sno
- 为表取别名 from student as s ,当为表取了别名以后,在查询语句的其他地方,所有用到表名的地方都要使用别名
- 每链接一个表就要添加一个join子句。
- 自连接 select c1.name , c1.credit from course c1 join course c2 on c1.credit=c2.credit where c2.name = '数据结构'
- 使用子查询进行比较测试select sno,grade, from sc where cno = 'c005' and grade > ( select avg(grade) from sc where cno = 'c05' )
- 将查询结果保存到新表中:select sdept ,count(*) as 人数 into dept_cnt from student group by sdept
- select s.sno 学号,sname 姓名,
case sdept
when '计算机系' then 'cs'
when '信息系' then 'im'
when '数学系' then 'ma'
end as 所在系,grade 成绩 from student - select s.sno 学号,sname 姓名,
case
when sdept='计算机系' then 'cs'
when sdept='信息系' then 'im'
end as 所在系 from student - update sc set grade = grade +
case dept
when '数学系' then 10
when '信息系' then 5
else 0
end from student - 查询结果的并、交、差运算
并
select 语句1
union all
select 语句2
union all
select 语句3
交
select 语句1
intersect
select 语句2
intersect
select 语句3
差
select 语句1
except
select 语句2
except
select 语句3 - 当查询语句的目标列中包含聚合函数时,若没有分组子句,则目标函数中只能写聚合函数,而不能再写其他列名,若包含分组子句,则在查询的目标列中除了可以写聚合函数外,只能写分组依据列。
- 对行的过滤条件一般用where子句实现,对组的过滤条件用having子句实现
- 不能将对统计后的结果进行筛选的条件写在where子句中,应该写在having子句后
- 能否通过视图修改数据的基本原则:如果这个操作能够最终落实到基本表中上,成为基本表的基本操作,则可以进行,否则就不能通过视图修改数据。
- 如果被删除的视图是其他视图的数据源,那么删除该视图则其导出视图无法再使用,如果定义视图的基本表被删除了,则视图将无法使用。
- 视图一定程度上提供了数据的逻辑独立性,因为它对应的是数据库的外模式,当数据库的表结构变了,但应用程序可以不必修改,新建的视图保证了用户原来的关系,使用户的外模式未发生改变。
- 标准数据仓库,数据集市,多层数据仓库,联合式数据仓库
数据库学习笔记
vivi_and_qiao2025-08-30 14:40
相关推荐
冬奇Lab5 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLiteClouGence15 小时前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步无响应de神17 小时前
三、用户与权限管理通信小呆呆1 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?H__Rick1 天前
自动对焦学习-3Daisy Lee1 天前
量化学习-第1章-什么是量化金融Alsn861 天前
等待学习-学习目录:Docker 容器安全攻防YM52e1 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本麦聪聊数据1 天前
数据服务化时代:企业数据能力输出的核心路径小雨下雨的雨1 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本