数据库学习笔记

  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. 标准数据仓库,数据集市,多层数据仓库,联合式数据仓库
相关推荐
minglie17 小时前
zynq中linux系统的自动登录和免密登录
学习
踏月的造梦星球7 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
Database_Cool_8 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql
茯苓gao8 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
SelectDB8 小时前
从 Oracle、Hadoop 到 Apache Doris:哥瑞利泛半导体智能制造数据平台实践
数据库
ihuyigui8 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端
海棠Flower未眠8 小时前
SpringBoot 消息死信队列(荣耀典藏版)
java·数据库·spring boot
Y3815326628 小时前
SERP API + Redis 缓存层:4 种方案对比与选型
数据库·redis·缓存
用户7783366132118 小时前
serpbase + GraphQL wrapper 实战:让 SERP 数据走 GraphQL schema
数据库·api
我想我不够好。9 小时前
监控学习 7.23 1.5hour
学习