数据库学习笔记

  1. where子句用来筛选from子句中指定的数据源所产生的行数据,group by子句用来对经where子句筛选出来后的结果数据进行分组,having 子句用来对分组后的结果数据再进行筛选。建议将所有应该在分组之前进行的搜索条件放在where子句中而不是having子句中,这样会减少参与分组的数据行执行效率高。
  2. 内连接 select * from student inner join sc on student.sno = sc.sno
  3. 为表取别名 from student as s ,当为表取了别名以后,在查询语句的其他地方,所有用到表名的地方都要使用别名
  4. 每链接一个表就要添加一个join子句。
  5. 自连接 select c1.name , c1.credit from course c1 join course c2 on c1.credit=c2.credit where c2.name = '数据结构'
  6. 使用子查询进行比较测试select sno,grade, from sc where cno = 'c005' and grade > ( select avg(grade) from sc where cno = 'c05' )
  7. 将查询结果保存到新表中:select sdept ,count(*) as 人数 into dept_cnt from student group by sdept
  8. select s.sno 学号,sname 姓名,
    case sdept
    when '计算机系' then 'cs'
    when '信息系' then 'im'
    when '数学系' then 'ma'
    end as 所在系,grade 成绩 from student
  9. select s.sno 学号,sname 姓名,
    case
    when sdept='计算机系' then 'cs'
    when sdept='信息系' then 'im'
    end as 所在系 from student
  10. update sc set grade = grade +
    case dept
    when '数学系' then 10
    when '信息系' then 5
    else 0
    end from student
  11. 查询结果的并、交、差运算

    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
  12. 当查询语句的目标列中包含聚合函数时,若没有分组子句,则目标函数中只能写聚合函数,而不能再写其他列名,若包含分组子句,则在查询的目标列中除了可以写聚合函数外,只能写分组依据列。
  13. 对行的过滤条件一般用where子句实现,对组的过滤条件用having子句实现
  14. 不能将对统计后的结果进行筛选的条件写在where子句中,应该写在having子句后
  15. 能否通过视图修改数据的基本原则:如果这个操作能够最终落实到基本表中上,成为基本表的基本操作,则可以进行,否则就不能通过视图修改数据。
  16. 如果被删除的视图是其他视图的数据源,那么删除该视图则其导出视图无法再使用,如果定义视图的基本表被删除了,则视图将无法使用。
  17. 视图一定程度上提供了数据的逻辑独立性,因为它对应的是数据库的外模式,当数据库的表结构变了,但应用程序可以不必修改,新建的视图保证了用户原来的关系,使用户的外模式未发生改变。
  18. 标准数据仓库,数据集市,多层数据仓库,联合式数据仓库
相关推荐
冬奇Lab5 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence15 小时前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神17 小时前
三、用户与权限管理
数据库·mysql
通信小呆呆1 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick1 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee1 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn861 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e1 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
麦聪聊数据1 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
小雨下雨的雨1 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙