数据库学习笔记

  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. 标准数据仓库,数据集市,多层数据仓库,联合式数据仓库
相关推荐
点心的游戏开发世界5 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
知行合一。。。6 小时前
RAG--03--Milvus基本用法
数据库·oracle·milvus
TDengine (老段)6 小时前
TDengine 线程模型 — 网络、调度、执行
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
香芋芋圆7 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF7 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
点心的游戏开发世界7 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
上学的小垃圾7 小时前
01-数据库系统概述
数据库
二进制漫游记8 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_928996228 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
tju新生代魔迷8 小时前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习