版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
关系数据库的标准语言SQL7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红第3章
关系数据库的标准语言SQL7/27/2023《13.1
SQL概述3.2数据定义语言3.3数据更新语言3.4数据查询语言3.5数据控制语言内容
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.1SQL概述内容7/27/2023《数据23.1SQL概述
3.1.1
SQL的发展历程3.1.2
SQL的组成与功能3.1.3
SQL语言的特点3.1.4
SQL基本知识7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.1SQL概述3.1.1SQL的发展历程3SQL语言1974年被提出,并首先在IBM公司研制的RDB原型系统SystemR上实现。它具有功能丰富、使用方式灵活、语言简洁易学等突出优点,深受计算机工业界和计算机用户的欢迎。1986年10月,美国国家标准局(ANSI)的DB委员会批准SQL作为RDB语言的美国标准。同年公布了标准SQL文本。1987年6月,国际标准化组织(ISO)将其采纳为国际标准(称“SQL86”)。此后出现了“SQL89”、“SQL2”(1992)和“SQL3”(1993)。3.1.1SQL的发展历程7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红SQL语言1974年被提出,并首先在IBM公司研制的RDB原4SQL成为国际标准后,各个DB厂家纷纷推出各自的支持SQL的软件或与SQL接口的软件。趋势:各种计算机(微机、小型机、大型机)上的DBS,都采用SQL作为共同的数据存取语言和标准接口。成为不同DBS间互操作的基础。SQL对DB以外的领域也产生了很大影响(软件产品将SQL语言的数据查询功能与图形功能、软件工程工具、软件开发工具、人工智能程序结合起来,开发出功能更强的软件产品)。可预见,在未来一段相当长的时间内,SQL仍将是RDB的主流语言,而且在知识发现、人工智能、软件工程等领域,也具有广阔的应用前景。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红SQL成为国际标准后,各个DB厂家纷纷推出各自的支持SQL的53.1.2SQL的组成与功能⑴数据定义语言⑵数据操纵语言⑶数据控制语言⑷嵌入式SQL7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.1.2SQL的组成与功能⑴数据定义语言7/276⑴数据定义语言称为“SQLDDL”。用来定义RDB的模式、外模式和内模式,以实现对基本表、视图以及索引文件的定义、修改和删除等操作。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑴数据定义语言称为“SQLDDL”。7/27/2023《7⑵数据操纵语言称为“SQLDML”。包括数据查询和数据更新两类。数据查询:对DB中的数据查询、统计、分组、排序等操作;数据更新:数据的插入、删除、修改等数据维护操作。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑵数据操纵语言称为“SQLDML”。7/27/2023《8⑶数据控制语言数据控制语言(简称DCL)也称为“SQLDCL”。数据控制包括对基本表和视图的授权,完整性规则的描述,事务控制语句等。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑶数据控制语言数据控制语言(简称DCL)也称为“SQLDC93.1.3SQL语言的特点⑴自含式和嵌入式两种形式⑵语言简洁、易学易用⑶高度非过程化⑷支持RDB三级模式结构7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.1.3SQL语言的特点⑴自含式和嵌入式两种形式710SQL功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE四部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红SQL功能命令动词数据查询SELECT数据定义CREATE、113.1.4SQL基本知识1.数据类型2.表达式与运算符3.函数4.语法规定与约定7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.1.4SQL基本知识1.数据类型7/27/20121.数据类型⑴数值型⑵字符型⑶位串型⑷日期型7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.数据类型⑴数值型7/27/2023《数据库原理13⑴数值型INT:长整数,也可写成INTEGERSMALLINT:短整数REAL:取决于机器精度的浮点数DOUBLEPRECISION:取决于机器精度的双精度浮点数FLOAT(n):浮点数,精度至少为n位数字NUMBERIC(p,q):定点数,由p位数字组成,但不包括符号、小数点,小数点后面有q位数字,也可写成DECIMAL(p,q)或dec(p,q)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑴数值型7/27/2023《数据库原理与应用》——第3章14字符串型普通编码字符串类型统一字符编码字符串类型二进制字符串类型7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红字符串型普通编码字符串类型7/27/2023《数据库原理与应15普通编码字符串类型Char(n):定长存储,n<=8000Varchar(n):不定长存储(按实际长度存储),长度最大不超过n,n<=8000注:n为字符个数Text:存储大于8000字节的文本7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红普通编码字符串类型Char(n):定长存储,n<=800016统一字符编码字符串类型nchar(n):定长存储,n<=4000nvarchar(n):不定长存储,长度最大不超过n,n<=4000ntext:存储大于8000字节的文本特点:每个字符占两个字节7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红统一字符编码字符串类型nchar(n):定长存储,n<=4017二进制字符串类型Binary(n):固定长度,n<=8000。Varbinary(n):可变长度,n<=8000。注:n为二进制数据的字节数image:大容量、可变长二进制字符数据,可用于存储文件。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红二进制字符串类型Binary(n):固定长度,n<=8018⑷日期型
DATE:日期包含年、月、日格式为YYYY-MM-DD
TIME:时间包含一日的时、分、秒格式为HH﹕MM﹕SS7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑷日期型7/27/2023《数据库原理与应用》——第3章192.表达式与运算符⑴比较运算符⑵谓词⑶逻辑运算符⑷算术运算符7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红2.表达式与运算符⑴比较运算符7/27/2023《数据20⑴比较运算符其在SQL语句中用于测试单个的值。包括:=、!=或<>、<、>、<=、>=用于测试数据相等、不等、小于、大于、小于等于和大于等于的各种情况。当条件满足时,返回True,否则返回False。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑴比较运算符7/27/2023《数据库原理与应用》——第321⑵谓词
①ISNULL和ISNOTNULL
②BETWEEN…AND…和NOTBETWEEN…AND…
③IN
④LIKE
⑤EXISTS和NOTEXISTS
⑥UNIQUE
⑦ALL和ANY7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑵谓词7/27/2023《数据库原理与应用》——第3章关22①ISNULL和ISNOTNULL用于判断字符串的值是否是空值。例如:查询缺少成绩(CJ)的学生的学号。可在WHERE子句中使用的表达式为:CJISNULL注意:不能用“=”来查找NULL值。若使用“=”,则表示要查找的是字符“NULL”,而不是NULL值。例如:查找不属于任何部门的职工。错误的表达式为:BMH=′NULL′
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红①ISNULL和ISNOTNULL7/27/2023②BETWEEN…AND…和NOTBETWEEN…AND…谓词BETWEEN用于判断值是否在给定的两个值之间,注意包括边值。例如:查找成绩(CJ)在90分到100分之间的学生。可在WHERE子句中使用表达式:CJBETWEEN90AND100
也可使用表达式:CJ>=90ANDCJ<=100显然在可读性上谓词BETWEEN更好一些。BETWEEN前面加上NOT表示否定。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红②BETWEEN…AND…和NOTBETWEEN…AN24③IN用于判断值是否属于指定的集合。例如:查找职工表中工资(GZ)是否为以下几个值中的一个:4000,5000,6000。可在WHERE子句中使用表达式:GZIN(4000,5000,6000)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红③IN7/27/2023《数据库原理与应用》——第3章关25④LIKE可以用来进行字符串的匹配。其一般语法格式如下:[NOT]LIKE<匹配符>[ESCAPE<换码字符>]在指定的关系中查找指定属性列值与<匹配符>相匹配的元组。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红④LIKE7/27/2023《数据库原理与应用》——第326⑤EXISTS和NOTEXISTS格式为:EXISTS(子查询)。用于判断在指定的表中是否存在一行符合某种条件的数据。带有EXISTS谓词的子查询不返回任何数据,当子查询结果非空,返回逻辑真值“True”,否则,返回逻辑假值“False”。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑤EXISTS和NOTEXISTS7/27/202327⑥UNIQUE用于在指定的表中判断每一行是否是惟一的。⑦ALL和ANY用于将某个值同另一数据集中的每个值相比较。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑥UNIQUE7/27/2023《数据库原理与应用》——第28⑶逻辑运算符
①
NOT
②AND
③OR7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑶逻辑运算符7/27/2023《数据库原理与应用》——第29①NOT将它使用的逻辑运算符的意义反转。如NOTBETWEEN、NOTIN、NOTEXISTS、NOTLIKE、NOTUNIQUE等。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红①NOT7/27/2023《数据库原理与应用》——第3章30③OR连接多个查询条件,表示至少有一个查询条件成立。例如:查找年龄(NL)为20岁或25岁的学生。可使用表达式为:NL=20ORNL=257/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红③OR7/27/2023《数据库原理与应用》——第3章31②AND连接多个查询条件,表示所有的查询条件都成立。例如:查找年龄(NL)为25岁,并且家庭住址(ZZ)住在大连的女学生(XB表示性别)。可使用表达式为:NL=25ANDZZ=′大连′ANDXB=′女′7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红②AND7/27/2023《数据库原理与应用》——第3章32⑷算术运算符用于执行数学运算的功能。通常有四种操作符:+、-、*和∕。可单独使用,也可组合使用。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑷算术运算符7/27/2023《数据库原理与应用》——333.函数⑴单行函数⑵统计函数7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.函数⑴单行函数7/27/2023《数据库原理与应34⑴单行函数单行函数主要分为数值函数、字符函数、日期函数、转换函数等;它对查询的表或视图的每一行返回一个结果行。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑴单行函数7/27/2023《数据库原理与应用》——第35数值函数:用于接受数值输入,返回数值。许多函数的返回值可精确到38位十进制数字,三角函数精确到36位十进制数字。单行字符函数:用于接受字符输入,可返回字符值或数值。日期函数:是操作DATE数据类型的值,所有日期函数都返回一个DATE类型的值。转换函数:是将一种数据类型的值转换成另一种数据类型的值。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红数值函数:7/27/2023《数据库原理与应用》——第3章36⑵统计函数统计函数是用来累加、合计和显示数据极限的函数,它主要用于给SQL语句提供统计信息。常用的统计函数有COUNT、SUM、MAX、MIN和AVG等。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑵统计函数7/27/2023《数据库原理与应用》——第3374.语法规定与约定
⑴语句格式约定符号<>:其中的内容为必选项,它表示实际语义,不能为空;[]:其中内容为任选项;{}或∣:必选其中之一项;[,…n]:表示前面的项可以重复多次。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红4.语法规定与约定⑴语句格式约定符号7/27/20238⑵语法规定
①一般语法规定SQL中数据项(列项、表和视图)的分隔符为“,”;字符串常数的定界符用单引号“′”表示。
②SQL特殊语法规定SQL的关键词一般使用大写字母表示;SQL采用格式化书写方式。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑵语法规定7/27/2023《数据库原理与应用》——第3393.2数据定义语言3.2.1数据库3.2.2表3.2.3索引3.2.4视图3.2.5存储过程7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.2数据定义语言3.2.1数据库7/27/403.2.1数据库1.创建数据库2.修改数据库3.撤消数据库7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.2.1数据库1.创建数据库7/27/2023《41SQL中,DB被定义为对象(即基本表、视图和索引等)的集合。并包含DB中每一个对象的定义。DB在磁盘上是以文件为单位存储的,由数据文件和日志文件组成。数据文件中实际存放DB所有数据和对象,日志文件用来存放(记录)用户对DB所进行的所有操作,它是维护DB完整性的重要工具。创建一个DB,就是定义了一个存储空间。1.创建DB7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.创建DB7/27/2023《数据库原理与应用》—42
语句格式:CREATEDATABASE<数据库名>功能:
定义DB名和DB的存储空间。说明:⑴使用该语句的用户必须具有DBA的权限;⑵DB的创建者被默认为该DB的所有者;⑶在创建DB的过程中,要指定DB名称、设计所占用的存储空间和存放文件位置。创建DB至少需要定义数据文件和日志文件,省略系统选择默认值。对于数据文件和日志文件的定义不同SQL版本规定不同。例3-1:创建学生管理数据库createdatabase学生管理7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红语句格式:7/27/2023《数据库原理与应用》——第343语句格式:ALTERDATABASE<数据库名>功能:修改指定的DB。说明:⑴该语句只有DBA或具有CREATEDATABASE权限的DB拥有者才有权使用;⑵
该语句可以增加或删除DB中的文件,也可以修改DB文件的属性。2.修改数据库7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红语句格式:2.修改数据库7/27/2023《数据库原理与应44语句格式:DROPDATABASE<数据库组名>功能:撤消指定的一个或多个DB。说明:⑴该语句只有DBA或具有CREATEDATABASE权限的DB拥有者才有权使用;⑵当DB处于正在被使用或正在恢复等非正常状态时,是不能被撤消的;⑶该语句执行后,系统将无法恢复被撤消的DB,除非事先有DB的备份;⑷当一个或多个DB被撤消后,其中所有的数据及DB对象都将被删除,所有的数据文件和日志文件也都将被删除,所占用的空间将被释放。3.撤消数据库7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红语句格式:3.撤消数据库7/27/2023《数据库原理与应453.2.2表1.创建基本表2.完整性约束3.修改基本表4.撤消基本表7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.2.2表1.创建基本表7/27/2023《数461.创建基本表语句格式:CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名>[<数据类型>[<列级完整性约束条件>]]…][<表级完整性约束条件>]);功能:定义基本表的表名及其结构。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.创建基本表语句格式:7/27/2023《数据库原理47例3-2:建立学生管理DB中的基本表:学生(学号,姓名,性别,年龄,班级号)课程(课程号,课称名,学分,周学时)考试(学号,课程号,成绩)
createtable学生(学号char(6),姓名char(10),性别char(2),年龄smallint,班级号char(5));createtable课程(课程号char(6)primarykey,课称名char(20),学分smallint,周学时smallint);createtable考试(学号char(6),课程号char(6),成绩smallint);7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例3-2:建立学生管理DB中的基本表:7/27/2023《482.完整性约束⑴PRIMARYKEY约束⑵FOREIGNKEY约束⑶UNIQUE约束⑷CHECK约束⑸NOTNULL或NULL约束(6)DEFAULT约束7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红2.完整性约束⑴PRIMARYKEY约束7/27/249⑴PRIMARYKEY约束也称主关键字约束,是实体完整性约束。该约束用于定义主关键字,它能保证主关键字的惟一性和非空性。该约束可在列级或表级上进行定义,但不允许同时在两个级别上进行定义。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑴PRIMARYKEY约束7/27/2023《数据库50PRIMARYKEY约束定义主关键字方法:①
PRIMARYKEY约束直接写在列名及其类型之后;②按照语法在相应列名及类型后单独列出:CONSTRAINT<约束名>PRIMARYKEY其中<约束名>是PRIMARYKEY约束的名字。③
在CREATETABLE语句列出基本表的所有列之后,再附加一个声明:PRIMARYKEY(<列名1>[,<列名2>,…])
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红PRIMARYKEY约束定义主关键字方法:7/27/2051例3-3:在创建学生基本表时,将学号定义为主关键字,列级PRIMARYKEY约束。
createtable学生(学号char(6)primarykey,姓名char(10),性别char(2),年龄smallint,班级号char(5))createtable考试(学号char(6),课程号char(6),成绩smallint,constraintpk_ks1primarykey(学号,课程号))7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例3-3:在创建学生基本表时,将学号定义为主关键字,列级PR52⑵FOREIGNKEY约束也称为外部关键字或参照表约束,用于定义参照完整性,即用来维护两个基本表之间的一致性关系。外部关键字的建立主要是通过将一个基本表中的主关键字所在的列包含在另一个表中,这些列就是另一个表的外部关键字。FOREIGNKEY约束不仅可以与另一基本表上的PRIMARYKEY约束建立联系,也可以与另一基本表上的UNIQUE约束建立联系。当一行新的数据被加入到表格中,或对表格中已经存在的外部关键字上的数据进行修改时,新数据必须存在于另一基本表的主关键字上,或者为NULL。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑵FOREIGNKEY约束7/27/2023《数据库53
FOREIGNKEY约束定义外部关键字方法①如果外部关键字只有一列,可在它的列名和类型后面直接用“REFERENCES”说明它参照了某个基本表的某些列(必须是主关键字),其语法格式为:REFERENCES<表名>(<列名>)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红FOREIGNKEY约束定义外部关键字方法7/27/54②在属性列表后面增加一个或几个外部关键字说明,语法格式为:FOREIGNKEY(<列名>)REFERENCES<表名>(<列名>)其中,第一个“列名”是外部关键字;第二个“列名”是被参照基本表中的列名。③在相应列名及其类型后单独列出,并指定约束名,语法格式为:CONSTRAINT<约束名>FOREIGNKEY(<列名>)REFERENCES<表名>(<列名>)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红②在属性列表后面增加一个或几个外部关键字说明,语法格式为:55例3-6:在创建考试基本表时,定义相应外部关键字。
createtable考试(学号char(6),课程号char(6),成绩smallint,constraintpk_ks1primarykey(学号,课程号),constraintpk_ks2foreignkey(学号)references学生(学号),constraintpk_ks3foreignkey(课程号)references课程(课程号))7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例3-6:在创建考试基本表时,定义相应外部关键字。7/256⑶UNIQUE约束主要是用来确保不受PRIMARYKEY约束的列上的数据的惟一性。PRIMARYKEY约束与UNIQUE约束区别:UNIQUE约束,主要用在非主关键字的一列或多列上要求数据惟一的情况;UNIQUE约束,允许该列上存在NULL值,而主关键字决不允许出现NULL值;可在一个表上设置多个UNIQUE约束,而在一个表上只能设置一个主关键字。UNIQUE约束也可在列级或在表级上设置。若在多于一列的表上设置UNIQUE约束,则必须设置表级约束。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑶UNIQUE约束7/27/2023《数据库原理与应用57定义UNIQUE约束的方法:①列级UNIQUE约束CONSTRAINT<约束名>UNIQUE其中<约束名>是UNIQUE约束的名字②表级UNIQUE约束CONSTRAINT<约束名>UNIQUE(<列名1>[,<列名2>,…])
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红定义UNIQUE约束的方法:7/27/2023《数据库原理58例3-7:在创建学生基本表时,创建一个列级UNIQUE约束。createtable学生(学号char(6)primarykey,姓名char(10)constraintun_xmunique,性别char(2),年龄smallint,班级号char(5))7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例3-7:在创建学生基本表时,创建一个列级UNIQUE约束59⑷CHECK约束CHECK约束通过检查输入表列的数据的值来维护值域的完整性,它就像一个门卫,依次检查每一个要进入数据库的数据,只有符合条件的数据才允许通过。CHECK约束同FOREIGNKEY约束相同点都是通过检查数据值的合理性来实现数据完整性的维护。但FOREIGNKEY约束是从另一张表上获得合理的数据,而CHECK约束则是通过对一个逻辑表达式的结果进行判断来对数据进行检查。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑷CHECK约束7/27/2023《数据库原理与应用》60例3-9:规定学生的年龄在20岁到65岁之间。在创建学生基本表时,可在年龄上设置一个CHECK约束,使满足CHECK约束的数据才被DB接受。
createtable学生(学号char(6)primarykey,姓名char(10),性别char(2),年龄smallintconstraintch_nlcheck(年龄>=20and年龄<=65),班级号char(5))7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例3-9:规定学生的年龄在20岁到65岁之间。7/27/261⑸NOTNULL或NULL约束NOTNULL约束不允许列值为空,而NULL约束允许列值为空。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑸NOTNULL或NULL约束7/27/2023《数据62(6)DEFAULT约束当向表中插入数据时,如果没有为定义了DEFAULT的列提供值,则是隐式要求为此列使用默认值。一个Default只能约束一列。格式:ALTERTABLE表名ADD[CONSTRAINT约束名]DEFAULT默认值FOR列名7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红(6)DEFAULT约束当向表中插入数据时,如果没有为定63示例例:对雇员表和工作表分别添加主码约束。ALTERTABLE雇员表ADDCONSTRAINTPK_EMPPRIMARYKEY(雇员编号)ALTERTABLE工作表ADDCONSTRAINTPK_JOBPRIMARYKEY(工作编号)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例:对雇员表和工作表分别添加主码约束。7/27/202364示例例.为雇员表的“电话号码”列添加UNIQUE约束。ALTERTABLE雇员表ADDCONSTRAINTUK_SIDUNIQUE(电话号码)UNIQUE约束确保在非主键列中不输入重复值。应用在客观具有唯一性质的列上,如身份证号、社会保险号等。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例.为雇员表的“电话号码”列添加UNIQUE约束。7/265示例例.为雇员表的工作编号添加外码引用约束,此列引用工作表的工作编号列。ALTERTABLE雇员ADDCONSTRAINTFK_job_idFOREIGNKEY(工作编号)REFERENCES工作表(工作编号)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例.为雇员表的工作编号添加外码引用约束,此列引用工作表的66示例例.定义雇员表的工资的默认值为1000。ALTERTABLE雇员ADDCONSTRAINTDF_SALARYDEFAULT1000FOR工资7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例.定义雇员表的工资的默认值为1000。7/27/20267示例例1.在雇员表中,添加限制雇员的工资必须大于等于500的约束。ALTERTABLE雇员ADDCONSTRAINTCHK_SalaryCHECK(工资>=500)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例1.在雇员表中,添加限制雇员的工资必须大于等于500的68示例例2.添加限制工资表的最低工资小于等于最高工资的约束。ALTERTABLE工作ADDCONSTRAINTCHK_Job_SalaryCHECK(最低工资<=最高工资)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例2.添加限制工资表的最低工资小于等于最高工资的约束。769综合CREATETABLE工作(工作编号char(8)PRIMARYKEY,最低工资int,最高工资int,CHECK(最低工资<=最高工资))CREATETABLE雇员(雇员编号char(7)PRIMARYKEY,雇员名char(10),工作编号char(8)REFERENCES工作(工作编号),工资intDEFAULT1000CHECK(工资>=500),电话号码char(8)notnullUNIQUE)7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红综合CREATETABLE工作(7/27/2023《数据703.修改基本表语句格式:ALTERTABLE<表名>
[ADD<新列名><数据类型>[<完整性约束>][,…n]]
[DROP[[[CONSTRAINT]<约束名>]|[COLUMN<列名>]][,…n]]
[MODIFY<列名><数据类型>[,…n]];功能:修改指定基本表的结构。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.修改基本表语句格式:7/27/2023《数据库原理71说明:⑴
其中<表名>是指要修改的基本表;⑵ADD子句用于在基本表中增加新列和新的完整性约束条件。新增加的列不能定义为“NOTNULL”,因为不论基本表中原来是否有数据,新增加的列一律为空值(NULL);⑶DROP子句用于在表中删除指定的完整性约束或指定的列;7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红说明:7/27/2023《数据库原理与应用》——第3章关72⑷
当在基本表中删除某一列时,所有引用该列的视图和约束也一起自动被删除。有的系统规定若删除某一列时,只有当没有视图和约束引用该列时,才能进行,否则将被拒绝;⑸MODIFY子句用于修改原有的列的定义,包括修改列名、列的宽度和列的数据类型。但是,有些系统一般不允许对列名和数据类型进行修改,以免丢失原有基本表中的数据。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑷当在基本表中删除某一列时,所有引用该列的视图和约束也一起734.撤消基本表语句格式:DROPTABLE<表名>功能:撤消指定的基本表。说明:⑴
<表名>是所要撤消的基本表的名字;⑵
基本表一旦撤消,表中的数据以及此表上建立的索引和视图都将自动被删除,并且无法恢复,此时系统释放其所占用的存储空间;⑶
只有基本表的拥有者才可使用此语句;⑷
不能使用DROP撤消系统表。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红4.撤消基本表语句格式:7/27/2023《数据库原理与743.4数据查询语言3.4.1
SELECT语句3.4.2
单表查询3.4.3联接查询3.4.4嵌套查询3.4.5集合查询3.4.6函数查询7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.4数据查询语言3.4.1SELECT语句753.4.1SELECT语句格式:SELECT[ALL|DISTINCT][<目标列表达式>[,…n]]
FROM<表名或视图名>[,<表名或视图名>,…][WHERE<条件表达式>]
GROUPBY<列名1>[HAVING<条件表达式>]]
ORDERBY<列名2>[ASC|DESC],…];功能:从指定的基本表或视图中,选择满足条件的元组数据,并对它们进行分组、统计、排序和投影,形成查询结果集。
执行过程7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.4.1SELECT语句格式:执行过程7/2776说明:①其中SELECT和FROM语句为必选子句,其他子句为任选子句;②SELECT[ALL|DISTINCT][<目标列表达式>[,…n]]子句指明查询结果集的目标列。<目标列表达式>是指查询结果集中包含的列名,可以是直接从基本表或视图中投影得到的字段、与字段相关的表达式或数据统计的函数表达式,目标列还可是常量。DISTINCT说明要去掉重复的元组。ALL表示所有满足条件的元组。省略<目标列表达式>表示结果集中包含<表名或视图名>中的所有列,此时<目标列表达式>可使用*代替。若目标列中使用了两个基本表或与视图中相同的列名,要在列名前加表名限定,即使用“<表名>.<列名>”表示。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红说明:7/27/2023《数据库原理与应用》——第3章77③
FROM<表名或视图名>[,<表名或视图名>,…]子句指明要查询的数据来自哪些基本表或视图。基本表或视图名间用“,”分割。如果查询使用的基本表或视图不在当前DB中,还需要在表或视图前加上DB名加以说明,即使用“<数据库名>.<表名>”的形式表示。如果在查询中需要一表多用,则每种使用都需要一个表的别名标识,并在各自使用中用不同的基本表别名表示。定义基本表别名的格式为“<表名><别名>”。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红③FROM<表名或视图名>[,<表名或视图名>,…]子78④
WHERE<条件表达式>]子句通过条件表达式描述对基本表或视图中元组的选择条件。DBMS处理语句时,以元组为单位,逐个考察每个元组是否满足WHERE子句中给出的条件,将不满足条件的元组筛选掉,所以WHERE子句中的表达式也称为元组的过滤条件。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红④WHERE<条件表达式>]子句7/27/2023《数79⑤
GROUPBY<列名1>[HAVING<条件表达式>]]子句作用是将结果集按<列名1>的值进行分组,即将该列值相等的元组分为一组,每个组产生结果集中的一个元组,可以实现数据的分组统计。当SELECT子句后的<目标列表达式>中有统计函数,且查询语句中有分组子句,则统计为分组统计,否则为对整个结果集统计。GROUPBY子句后可以使用HAVING<条件表达式>短语,它用来限定分组必须满足的条件。HAVING必须跟随GROUPBY子句使用。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑤GROUPBY<列名1>[HAVING<条件表达80⑥
ORDERBY<列名2>[ASC|DESC],…]子句该子句的作用是对结果集按<列名2>的值的升序(ASC)或降序(DESC)进行排序。查询结果集可以按多个排序列进行排序,根据各排序列的重要性从左向右列出。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红⑥ORDERBY<列名2>[ASC|DESC],…]81SELECT语句的执行过程:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的列值形成结果集。若有GROUP子句,则将结果集按<列名1>的值进行分组,该属性列值相等的元组为一个组,每个组产生结果集中的一个元组。若GROUPBY子句后带HAVING短语,则只有满足指定条件的组才予以输出。若有ORDERBY子句,则结果集还要按<列名2>的值的升序或降序排序。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红SELECT语句的执行过程:7/27/2023《数据库原理823.4.2单表查询单表查询:指在查询过程中只涉及一个表或视图的查询语句。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.4.2单表查询单表查询:7/27/2023《数831.查询指定的列查询表中用户感兴趣的部分属性列。例1:查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent例2:查询全体学生的姓名、学号和所在系。SELECTSname,Sno,SdeptFROMStudent
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.查询指定的列查询表中用户感兴趣的部分属性列。7/27/842.查询全部列例3.查询全体学生的记录SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent等价于:
SELECT*FROMStudent
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红2.查询全部列例3.查询全体学生的记录7/27/202385查询经过计算的列例4.查询全体学生的姓名及其出生年份。
SELECTSname,2006-Sage
FROMStudent例5.查询全体学生的姓名和出生年份所在系,并在出生年份列前加入一个列,此列的每行数据均为‘出生年份’常量值。SELECTSname,‘出生年份’,2006-SageFROMStudent
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红查询经过计算的列例4.查询全体学生的姓名及其出生年份。7/86改变列标题语法:列名|表达式[AS]列标题或:列标题=列名|表达式例:
SELECTSname姓名,‘YearofBirth’出生年份,2006-Sage年份,FROMStudent
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红改变列标题语法:7/27/2023《数据库原理与应用》——87简单查询
2.选择表中若干元组
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红简单查询2.选择表中若干元组7/27/2023《数据库881.消除取值相同的记录例6.在修课表中查询有哪些学生修了课程,要求列出学生的学号。
SELECTSnoFROMSC结果中有重复的行。用DISTINCT关键字可以去掉结果中的重复行。DISTINCT关键字放在SELECT词的后边、目标列名序列的前边。
SELECTDISTINCTSnoFROMSC7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.消除取值相同的记录例6.在修课表中查询有哪些学生修了课892.查询满足条件的元组查询条件谓词比较运算符=,>,>=,<,<=,<>(或!=)NOT+比较运算符确定范围BETWEEN…AND,NOTBETWEEN…AND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL逻辑谓词)AND,OR7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红2.查询满足条件的元组查询条件谓词比较运算符=90比较大小例7.查询计算机系全体学生的姓名。
SELECTSnameFROMStudentWHERESdept='计算机系'例8.查询年龄在20岁以下的学生的姓名及年龄。
SELECTSname,SageFROMStudentWHERESage<20例9.查询考试成绩有不及格的学生的学号
SELECTDISTINCTSnoFROMSCWHEREGrade<607/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红比较大小例7.查询计算机系全体学生的姓名。7/27/202391确定范围用BETWEEN…AND和NOTBETWEEN…AND是逻辑运算符,可以用来查找属性值在或不在指定范围内的元组,其中BETWEEN后边指定范围的下限,AND后边指定范围的上限。BETWEEN…AND…的格式为:
列名|表达式[NOT]BETWEEN下限值AND上限值如果列或表达式的值在[不在]下限值和上限值范围内,则结果为True,表明此记录符合查询条件。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红确定范围用BETWEEN…AND和NOTBETWEEN…A92示例例10.查询年龄在20~23岁之间的学生的姓名、所在系和年龄。SELECTSname,Sdept,SageFROMStudent WHERESageBETWEEN20AND23例11.查询年龄不在20~23之间的学生姓名、所在系和年龄。SELECTSname,Sdept,SageFROMStudent WHERESageNOTBETWEEN20AND237/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例10.查询年龄在20~23岁之间的学生的姓名、所在系和93确定集合使用IN运算符。用来查找属性值属于指定集合的元组。格式为:
列名[NOT]IN(常量1,常量2,…常量n)当列中的值与IN中的某个常量值相等时,则结果为True,表明此记录为符合查询条件的记录;NOTIN:当列中的值与某个常量值相同时,则结果为False,表明此记录为不符合查询条件的记录
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红确定集合使用IN运算符。7/27/2023《数据库原理与应用94示例例12.查询信息系、数学系和计算机系学生的姓名和性别。
SELECTSname,SsexFROMStudent WHERESdeptIN('信息系','数学系','计算机系')例13.查询既不是信息系、数学系,也不是计算机系学生的姓名和性别。
SELECTSname,SsexFROMStudent WHERESdeptNOTIN('信息系','数学系','计算机系')7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例12.查询信息系、数学系和计算机系学生的姓名和性别。795字符匹配使用LIKE运算符一般形式为:
列名[NOT]LIKE<匹配串>匹配串中可包含如下四种通配符:_:匹配任意一个字符;%:匹配0个或多个字符;[]:匹配[]中的任意一个字符;[^]:不匹配[]中的任意一个字符
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红字符匹配使用LIKE运算符7/27/2023《数据库原理与应96示例例14.查询姓‘张’的学生的详细信息。
SELECT*FROMStudentWHERESnameLIKE'张%'例15.查询学生表中姓‘张’、‘李’和‘刘’的学生的情况。
SELECT*FROMStudentWHERESnameLIKE'[张李刘]%'例16.查询名字中第2个字为‘小’或‘大’的学生的姓名和学号。
SELECTSname,SnoFROMStudentWHERESnameLIKE'_[小大]%'7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例14.查询姓‘张’的学生的详细信息。7/27/202397示例(续)例17.查询所有不姓“刘”的学生。 SELECTSnameFROMStudentWHERESnameNOTLIKE'刘%‘例18.查询学号的最后一位不是2、3、5的学生情况。 SELECT*FROMStudentWHERESnoLIKE'%[^235]'7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例(续)例17.查询所有不姓“刘”的学生。7/27/20298涉及空值的查询空值(NULL)在数据库中表示不确定的值。例如,学生选修课程后还没有考试时,这些学生有选课记录,但没有考试成绩,因此考试成绩为空值。判断某个值是否为NULL值,不能使用普通的比较运算符。判断取值为空的语句格式为:列名ISNULL判断取值不为空的语句格式为:列名ISNOTNULL
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红涉及空值的查询空值(NULL)在数据库中表示不确定的值。7/99示例例19.查询无考试成绩的学生的学号和相应的课程号。
SELECTSno,CnoFROMSCWHEREGradeISNULL例20.查询所有有考试成绩的学生的学号和课程号。
SELECTSno,CnoFROMSCWHEREGradeISNOTNULL
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红示例例19.查询无考试成绩的学生的学号和相应的课程号。7/2100多重条件查询在WHERE子句中可以使用逻辑运算符AND和OR来组成多条件查询。用AND连接的条件表示必须全部满足所有的条件的结果才为True;用OR连接的条件表示只要满足其中一个条件结果即为True。例21.查询计算机系年龄在20岁以下的学生姓名。
SELECTSnameFROMStudentWHERESdept='CS'ANDSage<20
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红多重条件查询在WHERE子句中可以使用逻辑运算符AND和OR1013.4.3联接查询1.连接条件及其连接查询执行过程2.等值与非等值连接查询3.自然连接查询4.自身连接查询5.外部连接查询6.无条件查询7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.4.3联接查询7/27/2023《数据库原理与应102多表连接查询若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是关系数据库中最主要的查询连接查询包括内连接、外连接和交叉连接等。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红多表连接查询若一个查询同时涉及两个或两个以上的表,则称之为103连接基础知识连接查询中用于连接两个表的条件称为连接条件或连接谓词。一般格式为:[<表名1.>][<列名1>]<比较运算符>[<表名2.>][<列名2>]必须是可比的7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红连接基础知识连接查询中用于连接两个表的条件称为连接条件或连接1041.连接条件及其连接查询执行过程连接条件或连接谓词:用来连接两个表的条件。一般格式:[<表名l>.]<列名1><比较运算符>[<表名2>.]<列名2>其中:比较(连接)运算符:=、<、>、<=、>=、!=或<>。连接字段:连接条件中的列名。连接字段类型必须可比,不必相同。连接条件通过WHERE子句表达。在WHERE子句中,有时既有连接条件又有元组选择条件,这时它们间用AND(与)操作符衔接,且将连接条件放在前面。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红1.连接条件及其连接查询执行过程连接条件或连接谓词:用来连接1052.等值与非等值连接查询
等值连接:是指连接运算符为“=”时的连接;非等值连接:则是指连接运算符为除“=”之外的其他运算符的连接。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红2.等值与非等值连接查询等值连接:是指连接运算符为“=”时1063.自然连接查询自然连接查询:指等值连接中的连接字段相同,并且在SELECT子句中去除了重复字段的连接。自然连接是连接运算中的特殊情况。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红3.自然连接查询自然连接查询:指等值连接中的连接字段相同,并1074.自身连接查询自身连接查询:基本表自身的连接操作。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红4.自身连接查询自身连接查询:基本表自身的连接操作。71085.外部连接查询内连接查询:查询结果集中都是满足连接条件的元组。外部连接查询:在查询结果集中除保留满足条件的元组外,还保留不满足连接条件的元组。SQL的外部连接查询类型分左外部连接查询(*=):结果集中将保留连接条件中左边基本表(*所在的一边)的所有行,以及左边基本表中在连接条件中右边基本表中没有匹配值的所有元组。右外部连接查询(=*):与左外部连接查询相似。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红5.外部连接查询内连接查询:查询结果集中都是满足连接条件的元1096.无条件查询指两个基本表没有连接条件的连接查询,是两个基本表中的元组做交叉乘积,即其中一个基本表的每一个元组都要与另一个基本表中的每一个元组作拼接。又称为笛卡尔积,是连接运算中的特殊情况。一般,无条件查询是没有实际意义的。它只是便于理解连接查询各种类型和连接查询过程的一种最基本的查询形式。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红6.无条件查询指两个基本表没有连接条件的连接查询,是两个基本110内连接SQL内连接语法如下:
SELECT…FROM表名[INNER]JOIN被连接表ON连接条件7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红内连接SQL内连接语法如下:7/27/2023《数据库原理111
执行连接操作的过程:首先取表1中的第1个元组,然后从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第1个元组与该元组拼接起来,形成结果表中的一个元组。表2全部查找完毕后,再取表1中的第2个元组,然后再从头开始扫描表2,…重复这个过程,直到表1中的全部元组都处理完毕为止。
7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红执行连接操作的过程:7/27/2023《数据库原理与应用》112
例.查询计算机系学生的修课情况,要求列出学生的名字、所修课的课程号和成绩。 SELECTSname,Cno,GradeFROMStudentJOINSCONStudent.Sno=SC.SnoWHERESdept='计算机系'7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例.查询计算机系学生的修课情况,要求列出学生的名字、所修113
例.查询信息系修了VB课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。SELECTSname,Cname,GradeFROMStudentsJOINSCONs.Sno=SC.SnoJOINCoursecONc.Cno=SC.CnoWHERESdept='信息系'ANDCname='VB'7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例.查询信息系修了VB课程的学生的修课成绩,要求列出学114
例.查询所有修了VB课程的学生的修课情况,要求列出学生姓名和所在的系。SELECTSname,SdeptFROMStudentSJOINSCONS.Sno=SC.Sno
JOINCourseCONC.Cno=SC.cnoWHERECname='VB'7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红例.查询所有修了VB课程的学生的修课情况,要求列出学生姓115自连接为特殊的内连接相互连接的表物理上为同一张表。必须为两个表取别名,使之在逻辑上成为两个表。7/27/2023《数据库原理与应用》——第3章关系数据库的标准语言SQL——东北财经大学李红自连接为特殊的内连接7/27/2023《数据库原理与应用》—116例.查询与刘晨在同一个系学习的学生的姓名和所在的系。S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购销合同书范本2025年
- 2025年度民间标准借贷合同范本专业融资服务3篇
- 房地产借款合同范文(2025年)
- 2025年度机房配套软件开发与部署服务合同2篇
- 普通大宗货物买卖合同2025年
- 幼儿园小型客车司机聘用合同2025年
- 个人劳务合同样本简易版
- 粉状灭火器买卖合同2025年
- 宿舍管理承包合同2025年
- 车辆转让合同
- 年劳保用品采购 投标方案(技术标 )
- 阅读042023年中考英语之考前五十天押题五十篇(阅读写作)(原卷版)
- 山东各市2022年中考物理试题及答案
- 华为认证智能协作中级HCIP-CollaborationH11-861考试题及答案
- 2024年中国红菜薹市场调查研究报告
- 2024年威海市120急救指挥中心招考调度员高频500题难、易错点模拟试题附带答案详解
- 报建协议书模板
- 山东虚拟电厂商业模式介绍
- 2024至2030年中国钛行业“十四五”分析及发展前景预测研究分析报告
- 2024至2030年中国步进式光刻机市场现状研究分析与发展前景预测报告
- 30 《岳阳楼记》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案)
评论
0/150
提交评论