左外连接语句其结果包括第一个命名表(“左” 表,出现在 JOIN 子句的最左边)中的所有行,不包括右表中的不匹配行:SELECT course.课程名, teacher.姓名 FROM course LEFT JOIN teacher ON (course.任课教师编号 = teacher.教师编号)右外连接语句其结果中包括第二个命名表(“右” 表,出现在 JOIN 子句的最右边)中的所有行,不包括左表中的不匹配行SELECT course.课程名, teacher.姓名 FROM course RIGHT JOIN teacher ON (course.任课教师编号 = teacher.教师编号)全外连接链接结果中包括不匹配的行,即保留不匹配信息,可以使用全外连接。FULL OUTER JOIN,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行SELECT course.课程名, teacher.姓名 FROM course FULL JOIN teacher ON (course.任课教师编号 = teacher.教师编号)子查询一般子查询一个查询是另一个查询的条件。se
查询结果的并、交、差运算将两个 SELECT 查询语句的结果进行运算:UNION:并INTERSECT:交EXCEPT:差:从一个记录里删除属于另一个记录的元组求并集:SQL 访问控制数据控制 控制的是 用户对数据的存储权力(查询、添加、修改权限),是有 DBA 决定的。但是,某个用户对某类数据具有何种权利,是个政策问题而不是技术问题。(安全性问题)DBMS 的功能:保证这些决定的执行,所以 DBMS 具有以下功能:通过 GRANT(授权) 和 REVOKE(回收权限) 将授权通知系统,并 存入数据字典当用户提出请求时,根据授权情况检查是否执行操作请求SQL 标准包括:DELETE、INSERT、SELECT 和 UPDATE 权限,SELECT 权限对应于 READ 权限,SQL 还包括:REFERENCE 权限,用来限制用户在创建关系时定义外码的能力授权的语句格式:GRANT <权限> [,<权限>]...[ON <对象类型> <对象名>] TO <用户> [,<用户>]...[WITH GRANT OPTIO
SQL 语言SQL Server 数据库的体系结构SQL Server 数据库的体系结构,是由 视图、基本表、存储文件 三级结构组成。视图:外模式、基本表:模式、存储文件:内模式SQL 语言分类:按照用途可以分为:DDL,数据定义语言,Data Definition LanguageDML,数据操纵语言,Data Manipulation LanguageDQL,数据查询语言,Data Query LanguageDCL,数据控制语言,Data Control LanguageSQL 数据定义语言建立数据库:基本语句:CREATE DATABASE 数据库名建立基本表基本语句:CREATE TABLE 表名 ( 列名 数据类型, ... -- 其他列名,就一直写 列名数据类型, 直到列名都写完 完整性约束, ... ) 表级完整性约束有三种子句:主键子句(PRIMARY KEY):实体完整性,检查子句(CHECK):用户自定义完整性外键子句(FOREIGN KEY):参照完整性定义列时使用的基本数据类型:INTEGER:整数,也可以写成 INTFLOAT(n):浮点数
外连接外连接运算是连接运算的扩展,可以处理由于连接运算而缺失的信息 外连接运算:左外连接、右外连接、全外连接左外连接 ⟕取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值 null 填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中 ⟕说人话:保留左边表的所有信息,其他的如果对不上,填 null右外连接 ⟖取出右侧关系中素有与左侧关系中任一元组都不匹配的元组,用空值 null 填充所有来自左侧的关系属性,构成新的元组,将其加入自然连接的结果中。全外连接 ⟗完成左外连接和右外连接的操作。也就是,填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中关系代数转成 SQL 语言投影:π$_?$(?)SQL:SELECT ?from ?举例:投影:π$_{A,B,C}$(R)SQL:SELECT A,B,C from R选择:σ$_?$(?)SQL:where ?举例:π$_B$(σ$_{B>'6'}$(R))SELECT B from R where B>'6'笛
关系代数运算符投影投影运算 是从关系的垂直方向进行运算,在关系 R 中选出若干属性列 A 组成新的关系,记作 π$_A$(R)。其定义是:π$_A$(R)={t[A] | t∈R}选择选择运算是从关系的水平方向进行运算,是从关系 R 中选择满足给定条件的诸元组,记作 σ$_F$(R)。其定义是:σ$_F$(R)={t | t∈R $\land$ F(t)= True}F 一般是一个表达式,F 中的运算对象是属性名(或者 列的序号)或 常数、运算符、算数比较富、逻辑运算符 下面是:σ$_{B='5'}$ (S),一开始把所有行选择了,但是有条件,要 B=5。这里的 5 有单引号,指的是 值。σ$_{B='5'}$ (S) 可以写作 :σ$_{1='5'}$ (S)列的序号,就是从左往右标序号,如果选择 / 投影列时,没有单引号。如果写作 1=5,那就不是第一列的值是否是 5,而是判断 第一列的值和第五列的值是否相等连接连接运算是从两个关系 R 和 S 的笛卡尔积中选取满足条件的元组。θ 连接从 R 与 S 的笛卡尔积中选取属性间满足一定条件的元组XθY 是连接的条件,θ 是 比较运算符。
Luckyxyz
我们谈论生活,讨论技术,借由文字,抵达心灵。