高级数据库_lesson3

合集下载

高级数据库系统-讲义

高级数据库系统-讲义

MASTER系统数据库

master数据库包含系统目录,在master数据 库中的所有表都是系统表。Master数据库从整 体上控制着用户数据库和SQL SERVER的操作。 它保留着用户帐号(syslogins),远程用户帐号 (sysremotelogins),本服务器可与之相连的远程 服务器(sysservers),正在运行的进程(sysprocess), 可设置的环境变量(sysconfigures),系统错误信 息(sysmessages)。在SQL SERVER上的数据库 (sys database)以及给每个数据库分配的存储空 间(sysusages)等。



客户/服务器技术简介
• 一个客户/服务器系统包括三种独立的技术,它们集合在一起提供一种存 储和存取数据的方法。首先,是存储和操作数据的软件,称为数据库或 数据库管理系统(DBMS)。其次,是运行DBMS和用户应用程序所需的硬 件和操作系统软件,这种硬件和软件的组合通常称为平台。最后是使得 所有的客户能与服务器通讯的网络技术。 一个数据库系统通常由两部分组成:数据库管理系统(DBMS)和数据 库应用程序。前者是组织和维护各种信息的程序,后者是一个允许我们 检索、更新DBMS中数据的程序。 客户/服务器体系结构通过将数据库管理系统和数据应用程序分开而增强 了数据库的处理能力,应用程序可以在一台或多台用户工作站(通常是 PC机)上运行,并与一个或多个运行在网络中的其他计算机的数据库管 理系统通讯,虽然它们可能比较复杂,但这种客户/服务器数据库系统能 比较好地利QL SERVER系统数据库 •
SYBASE SQL SERVER安装时自动安装了四 个数据库,MASTER数据库(MASTER)、模板 数据库(MODEL)和临时数据库(TEMPDB)这三 个数据库我们称为系统数据库。在Sybase SQL SERVER SYSTEM 10以后的版本添加了一个叫 做SYBSYSTEMPROCS新的系统数据库,它用 来存储系统过程。在SYSTEM 10之前系统存储 过程被安装在MASTER数据库中。

数据库技术 课件 第三章-3

数据库技术 课件 第三章-3

–创建索引的原则
• 在经常用来检索的列上创建索引(如经常在where子 句中出现的列)。 •在表的主键、外键上创建索引。 •在经常用于表间连接的字段上建立索引。 •一般而言,如下情况的列不考虑在其上创建索引:
– 在查询中几乎不涉及的列。 – 很少有唯一值的列(即包含太多重复值的列,如性别字 段)。 – 数据类型为text、ntext或image的列。 – 只有较少行数的表没有必要创建索引。 – 当写的性能比查询更重要时,应少建或不建索引。
第三章 关系数据库标准语言 — SQL(结构化查询语言)
第一节 SQL概述 第二节 SQL数据查询功能 第三节 SQL数据定义功能 第四节 SQL数据更新功能
信息工程学院 数据库系统原理
SQL的三级模式结构
SQL终端用户 视图1 视图2
子模式 基本表1 概念模式 存储模式 存储文件1
外模式 模式 内模式
视图创建后,只在数据字典中存放视图的定义,而其中的子查询SELECT 语句并不执行。 只有当用户对视图进行操作时,才按照视图的定义将数据从基本表中取 出。
信息工程学院 数据库系统原理
CREATE VIEW <视图名>[(<视图列表>)] AS <子查询>
在下面情况下视图列表不可省略: 1.视图由多个基本表连接得到,在不同的表中存在 同名属性列,或定义新的属性列名时,则需指定列 名; 2.当视图的列名为表达式或集函数的计算结果时, 而不是单纯的属性列名时,则需指明列名。
主关键字 (学号) 870701 870705 870707 870712 870721 870724 870736 记录地 址 D G C A F B E
数据文件
非聚簇索引

高级数据库技术课件2012-3

高级数据库技术课件2012-3

高级数据库技术 Advanced Database technology事务处理与故障恢复湖南大学软件学院 Software college of Hunan University杨金民 2012.03主要教学内容• 事务属性; • 事务状态; • 数据处理模型; • 磁盘原理; • 系统故障; • 日志; • 检查点; • 备份; • 容灾; • 分布式事务的两阶段提交协议; • 团组容错;事务概念银行交易系统 accountName accountNo 周山 汪兵 张珊 2008043101 2008043214 2008043332 identityNo balance 430104************ 1200 430104************ 80,000 430104************ 137,000例子: 对于银行交易系统来说,假定从汪兵的帐上划转1万元钱 到周山的帐上,那么有两步操作,分别为汪兵的帐上减1万, 周山的帐上加1万,假定刚完成第一步操作时,停电,那么数 据就会不一致; UPDATE account SET balance = balance + 10000 WHERE accountNo =‘2008043101’; UPDATE account SET balance = balance - 10000 WHERE accountNo =‘2008043214’;事务特征事务对数据库的一组操作,这些操作涉及对多个数据项进行 更新/修改; 要求:中间状态对外部不可见; TRANSACTION BEGIN UPDATE account SET balance = balance + 10000 WHERE accountNo =‘2008043101’; UPDATE account SET balance = balance 10000 WHERE accountNo =‘2008043214’; COMMIT;数据库管理系统的数据处理模型–虚拟内存在磁盘上的 swap空间大小应该配 置为0, 否则会引起额 外的磁盘I/O!CPUPrivate Buffer事务私有内存缓存Read Input Stable Database output Disk 数据量巨大Write 全局内存缓存Database Buffermemory 内存量远远小于数据库数据量磁盘原理t3磁头 磁碟 磁道 磁段系统故障• 事务故障(Transaction failure) :– 逻辑故障(Logical errors), 例如: divided by 0. – 余额不允许为负;• 系统崩溃故障(System crash):– 停电、硬件故障;• 磁盘故障(Disk failure) • 通信故障(Communication failures)事务的五个状态Partially Committed 部分提交Committed 部分提交Active 活动 Failed 不成功 Aborted 放弃事务的ACID属性原子性(Atomicity): 一个事务中的操作要求要么全部执 行,要么全部不执行. 一致性(Consistency): 在外部看来,数据库中的数据总 是正确的. 隔离性(Isolation): 尽管多个事务在并发执行,但从外 部看来,具有多个事务串行执行的效果; 持久性(Durability):一个事务一旦提交了,即使随后发 生故障,其结果在数据库中不会丢失;故障恢复方法• 在有故障可能的情况下,如何保证事务的四 个属性; • 它包括2个部分:1.正常执行时的防备措施,为故障恢复做准备; 2. 在故障发生后的故障恢复措施,保证事务的四 个属性;第一种方法:分页方法对每个事务: • 1) 把要访问的数据页读入内存; • 2) 数据处理; • 3) 把修改了的数据页写回磁盘; • 4) 删除原有的、过时了的内存页;磁盘1 2 3 4 5 2CPU内存分页方法的特征• 优点:简单,修改的页不多时,可行. • 缺点: 效率不高; – 以页为单位读磁盘和写磁盘,当一个页中只有很少 一部分数据修改时,效率不高; – 如果页划分得很小,磁盘中页表目录的维护开销又 会很大;第二种方法:日志方法CPUPrivate BufferRead Database DiskWriteLog BufferDatabase BufferLog Diskmemory把日志缓冲区的内容输出到日志磁盘• • 两种情况: 1)当向数据库缓冲区中内容要输出到数据库磁盘之前,要先把日志缓 冲区的内容输出到日志磁盘(WAL );– 只要数据库缓冲区块对应的日志记录写到了日志磁盘,它就可 以输出到数据库磁盘,并不需要等到所有日志记录都写到了日 志磁盘;• 2)当事务 Ti 完成,遇到<Ti commit>记录时,要把日志缓冲区的内 容输出到日志磁盘; • 日志的特点:单调递增;日志方法举例T0: Read (A); A= A – 5; Write (A); Read (B); B = B + 50; Write (B); T1 : Read (C); C=C- 100; Write (C); <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> (a) <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> <To, commit> <T1 start> <T1, C, 700, 600> (b) <T0 start> <T0, A, 1000, 950> <To, B, 2000, 2050> <To, commit> <T1 start> <T1, C, 700, 600> <T1 commit> (c)事务故障的恢复• 重启数据库管理系统; • 读取日志文件; • 反向扫描日志,也就是从日志文件的结束位置开始后向扫描。

《高级数据库技术》课件

《高级数据库技术》课件

学习事务的 ACID 特性,了解事务的一致
性、原子性、隔离性和持久性。
3
事务隔离级别
掌握事务隔离级别的不同及其对并发操
锁机制与死锁处理
4
作的影响,学习如何选择合适的隔离级
别。
学习数据库的锁机制,以及如何检测和
处理死锁情况。
第四章 数据库备份与恢复
数据库备份
了解数据库备份的重要性,学习常用的备份方 法和策略,以保障数据的安全性。
Spark 分布式计算框架
掌握 Spark 分布式计算框架的特点和使用方法, 以提高大数据处理的效率和性能。
MapReduce 模型
了解 MapReduce 模型的概念和工作原理,学习 如何分布式计算和处理大数据。
NoSQL 数据库
了解 NoSQL 数据库的概念和特点,学习如何选 择和使用适合大数据处理的和过程,以确保数 据库的可靠性和一致性。
数据库恢复
学习数据库恢复的方法和步骤,以应对数据丢 失或损坏的情况。
增量备份与差异备份
掌握增量备份和差异备份的概念和应用,以提 高备份效率和节省存储空间。
第五章 数据库高可用性
主从复制
学习主从复制的原理和方法,以 提高数据库的冗余和可靠性。
流处理与批处理
学习流处理和批处理的概念和应用场景, 了解它们在实时数据处理中的作用。
流数据处理系统
了解流数据处理系统的架构和特点,学 习如何构建和管理实时数据处理系统。
第七章 大数据处理技术
Hadoop 分布式文件系统
学习 Hadoop 分布式文件系统(HDFS)的原理和 使用,掌握大数据存储和处理的基本方法。
《高级数据库技术》PPT 课件
欢迎来到《高级数据库技术》PPT课件!在这个课程中,我们将深入探讨数据 库设计、查询优化、事务管理、备份与恢复、高可用性、实时数据处理、大 数据处理、数据库安全与隐私等主题。

高级数据库 分布式数据库HBase 精品实用课件

高级数据库 分布式数据库HBase  精品实用课件
分布式数据库---以HBase为例
by 梁桂煌 -- part 1 戚潇明 -- part 2 吴文泰 -- part 3 王浩宇 -- part 4

Part 1 --- 关于分布式数据库

回顾集中式数据库
分布式数据库系统概述 DDBS(Distributed Database System)的分类 DDBS架构介
2.3 HBase与HIVE

Hbase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase 的能够在它的数据库上实时运行,而不是运行MapReduce任务。 HBase非常适合用来进行大数据的实时查询。 Hive 和 Hbase 是两种基于 Hadoop 的不同技术, Hive 是一种类 SQL 的引擎, 并 且 运 行 MapReduce 任 务 , Hbase 是 一 种 在 Hadoop 之 上 的 NoSQL 的 Key/vale数据库,数据也可以从Hive写到Hbase,再从Hbase写回Hive。
分布式数据库系统概述

随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围 的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。 分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形 成一个分支。分布式数据库的研究始于 20世纪70年代中期,世界上第一个分 布式数据库系统 SDD-1 是由美国计算机公司( CCA )于 1979 年在 DEC 计算机上 实现。 20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系 数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库 产品,同时分布式数据库逐步向客户机/服务器模式发展。

高级数据库技术

高级数据库技术
空间数据库
1 2 3 4 空间数据库概述 空间数据模型 空间索引 空间数据库的系统结构
主讲人:张伟
2015/11/29
1 空间数据库概述
1 空间数据库的意义 • 时间和空间是物质存在的基本方式 • 空间数据是某些重要应用的基本形式
• 复杂的非空间数据可以作为空间数据处理
2015/11/29
2
2 空间数据基本特征 • 数据量大 结构复杂 数据联系多样化 • 查询过程复杂 • 空间对象间难以定义次序
2015/11/29
28
7 空间数据查询语言 一般在SQL语言基础上扩充空间数据类型及其操 作和相应的保留字。由于这些扩充与应用有关,目 前还未形成标准,以下列举一些例子予以说明。
2015/11/29
29
例3 • 选择广东省所有城市及其人口: select 城市名,人口 from 城市 where center(城市地图)inside广东省 • 选择流经广东省所有河流的河流名及其在广东省 境内的长度: select 河流名,length(intersection(route(河 流流域图),广东))from 河流 where route(河流流域图)intersects广东
2015/11/29
26
• 选择广东省的所有河流: σF(河流)其中 F=ROUTE(河流)INSIDE广东; “河流”是关系名,其中有属性“河流流域图”。ROUTE是 空间数据库中的一个函数,计算河流、道路等的中心线。 • 选择距离广州小于等于100000米,人口大于等于50万的所 有城市: σF(城市,广东区域图)其中F=DIST(城市名,广州) <=100000 AND 人口 =>500000; 城市是个关系,“广州”是城市名,F中的第一个谓词是 空间谓词,要用到广东省地图。

高级数据库开发技术培训课件(ppt 25页)


1.3 数据库配置助手(DBCA)
在桌面上执行以下操作:开始→程序→Oracle-OraDb10g_home1→配置和移植工具 →Database Configuration Assistant,激活数据库配置助手初始化窗口,如图 1.10所示。初始化完成后自动进入欢迎窗口,如图1.11所示。
图1.10初始化窗口
(3) (3)
单击“我同意”按钮,进入Oracle 10g企业管
理器界面。
图1.2许可证说明界面
1.1 企业管理器(OEM)
4.关闭实例 在使用OEM打开或关闭数据库时,需要在Window环境中
进行一下设置: (1)在“控制面板”中选择“管理工具”。 (2)选择“本地安全策略”→“本地策略” →“用户权
1.1 企业管理器(OEM)
2. OEM的管理工具 (4) 存储管理。使用存储管理器可管理表空间、回滚段、数据文件和
重做日志等存储对象。利用它可以进行以下操作: ①创建存储对象。 ②将数据文件和回滚段添加到表空间中。 ③删除存储对象。 ④将对象脱机或联机。 ⑤显示对象的相关性。
1.1 企业管理器(OEM)
SQL>C/5/4/ /*学分为4替换学分为5 */
3* WHERE xf=4
/*替换后显示的内容*/
语法格式:
I[NPUT] [text]
【例1.6】在上述查询语句后添加另外的查询条件。
SQL>L 3
/*指定第三行为当前行*/
SQL>I and kkxq=2
/*添加查询条件*/
SQL>L
/*显示添加查询条件后的语句*/
4. 在SQL*Plus中启动或关闭实例
(1) 启动实例 启动数据库可以使用STARTUP命令。 语法格式: STARTUP [FORCE] [RESTRICT] [PFILE=filename] [QUIET] [MOUNT

高级数据库知识点

第一章数据库基础知识1.信息就是新的有用的事实和知识。

信息具有有效性、有用性和知识性的特性。

P12.信息具有四个基本特征;(1)信息的内容是关于客观事物或思想方面的知识(2)信息是有用的(3)信息能够在空间和时间上被传递(4)信息需要一定的形式表示。

P13数据是用于承载信息的物理符号。

P14数据的四个特征(1)数据有“型”和“值”之分(2)数据受数据类型和取值范围的约束(3)数据有定性表示和定量表示之分(4)数据应具有载体和多种表现形式。

P25数据处理的概念;围绕着数据处理所做的工作称为数据处理。

数据处理时指对数据收集、组织、整理、加工、存储、传播等工作。

P36数据处理工作分为三类:数据管理、数据加工、数据传播。

P37数据管理:在数据处理中最基本的工作是数据管工作。

数据管理是其他数据处理的核心和基础。

P38数据管理工作包括三项内容:组织和保存数据、进行数据维护、提供数据查询和数据统计功能。

P39传统的数据管理方法是人工管理方法。

P310数据库简称为DB,他是一个按数据结构来存储和管理数据的计算机软件系统。

P311数据库的特征:数据库中的数据具有数据整体性、数据库中的数据具有数据共享性。

P412数据库管理系统简称DBMS,它是专门用于管理数据库的计算机系统软件。

数据库管理系统能够为数据库提供数据的定义、建立、维护、查询、和统计等操作功能,并完成对数据库完整性、安全性进行控制的功能。

P513数据管理系统的操作功能:数据定义功能、数据建立功能、数据维护功能、数据查询和统计功能。

P514数据库管理系统的目标是让用户更方便、更有效、更可靠的建立数据库和使用数据库中信息资源。

P515管理信息系统简称MIS,它是计算机应用领域的一个重要分支。

P616管理信息系统有2个特点管理信息系统是以数据库技术为基础的、管理信息系统一般采用功能选单方式控制程序。

P617一个数据库系统由计算机硬件、数据库、数据库管理系统、数据库应用系统和数据库管理员五个部分构成。

数据库系统概论第三四精品PPT课件

外模式/模式映像:存在于外模式和模式之间,用于保持外模式和模 式之间的对应。当数据库的模式发生改变时,只 需要对外模式/模式映象进行修改,而使外模式保 持不变,使得数据库具有逻辑数据独立性。 该映象由数据库管理系统DBMS实现。
模式/内模式映像:存在于模式和内模式之间,用于保持模式与内模式 之间的对应。当数据库的内模式发生改变时,只需 要对模式/内模式映象进行修改,而使概念模式保持 不变,使得数据库具有物理数据独立性。该映象同 样是由数据库管理系统DBMS实现。
3
第三节、数据库系统的体系结构
一、数据库系统的三级模式结构:
③. 内模式(internal schema): 又称存储模式,是数据物理存储方面的描述,是数据在数据库内部
的表示方式。 包括所有的内部记录类型 、索引、文件的组织方式以及数据控制等。
比内模式更接近物理存储的是操作系统,如从磁盘上读数据等。 但内模式不涉及物理记录,也不涉及硬件设备,比如,对硬盘的读写
● 有了模式/内模式映像,当内模式改变时,比如存储设备或存储方
式有所改变,只要对模式/内模式映像做相应的改变,使模式保持不变, 则应用程序不受影响,从而保证了数据与程序之间的物理独立性,即数 据的物理独立性。
10
第三节、数据库系统的体系结构
二、数据库系统的两级映像(mapping)功能:
2. 外模式/概念模式映像:
● 位于外部级和概念级之间,来定义外模式和概念模式间数据的对应性,
可能是多对一的关系。一旦概念模式做了修改,为保证外模式不变,对 外模式/概念模式也做相应修改,对用户程序影响很小,这样就达到了数 据的逻辑独立性。
● 通过该映像把描述局部逻辑结构的外模式与描述全局逻辑结构的
模式联系起来。

第3章 高级数据库T-SQL 高级查询

15
IN子查询
• 参考语句
/*--采用 子查询参加考试的学员名单 采用IN子查询参加考试的学员名单 采用 子查询参加考试的学员名单--*/ SELECT stuName FROM stuInfo WHERE stuNo IN (SELECT stuNo FROM stuMarks) GO
演示:使用 子查询 演示:使用IN子查询
25
T-SQL语句的综合应用
1.提示 使用子查询统计缺考情况: 包括学员姓名、学号、笔试成绩、机试成绩、 提示: 使用子查询统计缺考情况: 提示 2.提取学员的成绩信息并保存结果,包括学员姓名、学号、笔试成绩、机试成绩、 提取学员的成绩信息并保存结果, 提取学员的成绩信息并保存结果 应到人数: 应到人数:SELECT count(*) FROM stuInfo 是否通过 实到人数: 实到人数:SELECT count(*) FROM stuMarks 1)提取的成绩信息包含两表的数据,所以考虑两表联接,使用左联接( LEFT 提取的成绩信息包含两表的数据, 提取的成绩信息包含两表的数据 所以考虑两表联接,使用左联接( JOIN ); SELECT stuName…FROM stuInfo LEFT JOIN stuMarks … 2)要求新加一列“是否通过(isPass)”,可采用 要求新加一列“ 可采用CASE …END。为了便于后续的 要求新加一列 是否通过( ) 。 通过率统计,通过则为1,没通过为0 通过率统计,通过则为 ,没通过为 SELECT … isPass=CASE WHEN writtenExam>=60 …… THEN 1 ELSE 0 END …… 3)要求保存提取(查询)的结果,可以使用我们曾学习过的 要求保存提取( 要求保存提取 查询)的结果,可以使用我们曾学习过的SELECT …INTO newTable语句,生成新表并保存数据 语句, 语句
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Updates

You can update existing rows using the UPDATE command.
UPDATE
weather SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2 WHERE date > '1994-11-28';
In this case, a row of capitals inherits all columns (name, population, and altitude) from its parent, cities.
Query Example


the following query finds the names of all cities, including state capitals, that are located at an altitude over 500 feet: (Wisconsin's capital is Madison)
Foreign Keys
CREATE TABLE cities ( city varchar(80) primary key, location point );
CREATE TABLE weather ( city varchar(80) references cities(city), temp_lo int, temp_hi int, prcp real, date date );
Foreign Keys

Now try inserting an invalid record:
INSERT INTO weather VALUES ('Berkeley', 45, 53, 0.0, '1994-1128'); ERROR: insert or update on table "weather" violates foreign key constraint "weather_city_fkey" DETAIL: Key (city)=(Berkeley) is not present in table "cities".
ransactions
BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; SAVEPOINT my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Bob'; -- oops ... forget that and use Wally's account ROLLBACK TO my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Wally'; COMMIT;
高级数据库
第三讲 Advanced Features 谭舜泉 信息工程学院
Aggregate Functions


An aggregate function computes a single result from multiple input rows. E.g. there are aggregates to compute the count, sum, avg, max and min over a set of rows. Aggregates are also very useful in combination with GROUP BY clauses.
DELETE
FROM tablename;
Advanced Features
Views

You can create a view over the query, which gives a name to the query that you can refer to like an ordinary table:

One solution
CREATE TABLE capitals ( name text, population real, altitude int, -- (in ft) state char(2) ); CREATE TABLE non_capitals ( name text, population real, altitude int -- (in ft) ); CREATE VIEW cities AS SELECT name, population, altitude FROM capitals UNION SELECT name, population, altitude FROM non_capitals;
Foreign Keys


Recall the weather and cities tables, You want to make sure that no one can insert rows in the weather table that do not have a matching entry in the cities table. This is called maintaining the referential integrity of your data. PostgreSQL can do this for you via foreign keys.
BEGIN;
UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; -- etc etc COMMIT;
Transactions


Savepoints allow you to selectively discard parts of the transaction, while committing the rest. After defining a savepoint with SAVEPOINT, you can if needed roll back to the savepoint with ROLLBACK TO. All the transaction's database changes between defining the savepoint and rolling back to it are discarded, but changes earlier than the savepoint are kept.
Deletions

Rows can be removed from a table using the DELETE command.
DELETE
FROM weather WHERE city = 'Hayward';

DELETE will remove all rows from the given table.
A better solution

CREATE TABLE cities ( name text, population real, altitude int -- (in ft) ); CREATE TABLE capitals ( state char(2) ) INHERITS (cities);
Transactions



The essential point of a transaction is that it bundles multiple steps into a single, all-ornothing operation. The intermediate states between the steps are not visible to other concurrent transactions. If some failure occurs that prevents the transaction from completing, then none of the steps affect the database at all.
SELECT name, altitude FROM cities WHERE altitude > 500; which returns: name | altitude -----------+---------Las Vegas | 2174 Mariposa | 1953 Madison | 845 (3 rows)
SELECT
city, max(temp_lo) FROM weather GROUP BY city;
Aggregate Functions

We can filter these grouped rows using HAVING:
SELECT
city, max(temp_lo) FROM weather GROUP BY city HAVING max(temp_lo) < 40;
Transactions

For example, consider a bank database that contains balances for various customer accounts.
UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; UPDATE branches SET balance = balance - 100.00 WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Alice'); UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Bob'; UPDATE branches SET balance = balance + 100.00 WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Bob');
相关文档
最新文档