预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共49页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQLServer数据库技术第4章检索数据4.1了解数据运算—Transact-SQL语言数据运算4.1.2Transact-SQL函数1.数学函数2.字符串函数3.日期时间函数例4-1计算香港回归已经有多少年、多少天,今天以后15个月是哪一天。4.类型转换函数例4-2将当前时间日期转换为美国格式(mm/dd/yyyy及mm-dd-yyyy)、ANSI(yyyy.mm.dd),并将当前时间的时间部分转换为字符串。脚本: selectgetdate(), convert(char(10),getdate(),101), convert(char(10),getdate(),102), convert(char(10),getdate(),110), convert(char(10),getdate(),114)4.2实现简单数据查询—SELECT语句4.2.1操纵列4.2.2操纵行2.模糊查询 模糊匹配:like 通配符:%(*)、_(?)、[](指定范围)。 例4-6检索所有姓李以及第二个字为李的住址在西安的学生的姓名、性别和住址。 selectsname,sex,addressfroms where(snamelike‘李%’orsnamelike‘_李%’) andaddresslike'%西安%' 注:SQL语言中将一个汉字视为一个字符而非2个字符。4.2.3汇总和排序2.分类 groupby<列> 注:groupby子句可以使用表达式,但不能使用text、image、bit类型数据。 例4-7查询每个学生所选课程的数量、总分及最高和最低分。 脚本: selectsno,count(*)asnum,sum(score), max(score),min(score) fromscgroupbysno 3.分类后过滤记录 having<条件> 例4-8查询平均成绩及格的学生所选课程的数量、总分及最高和最低分。 脚本: selectsno,count(*)asnum,sum(score), max(score),min(score)fromsc groupbysnohavingavg(score)>=60 having与where功能相同,不同的是having在groupby后执行,可以使用聚合函数。4.2.4排序4.3实现复杂数据查询—高级SELECT语句4.3.1连接查询1.无限制连接——笛卡儿积2.内连接——F连接3.自连接4.3.2子查询1.不相关子查询例4-13检索选修了数据库应用课程的学生的学号、姓名、成绩。 脚本: selectsc.sno,sname,scorefroms,sc wheresc.sno=s.snoandcno= (selectcnofromcwherecname='数据库应用') 例4-14检索选修了数据库应用及VB程序设计课程的学生的学号、姓名、课程名、成绩。 脚本: selectsc.sno,sname,cname,scorefroms,c,sc wheresc.sno=s.snoandsc.cno=c.cnoandsc.cnoin (selectcnofromcwherecname=‘数据库应用’ orcname='VB程序设计')2.相关子查询4.3.3集合运算4.3.4生成新表2.生成永久表INTO<新表> 例4-18创建一个包含信息501班学生的学号、姓名、性别和出生日期的表。 脚本: selectsno,sname,sex,birthdayintotemp fromswhereclass='信息501'4.3.5嵌入式Transact-SQL4.4数据库原理(二)—关系运算例4-19给定3个域:姓名={张三,李四}、性别={男,女}、课程={数据库,软工}。 则域上的笛卡儿积为: 姓名×性别×课程={(张三,男,数据库),(张三,男,软工),(张三,女,数据库),(张三,女,软工),(李四,男,数据库),(李四,男,软工),(李四,女,数据库),(李四,女,软工)}定义4.3域D1,D2,…,Dn上的笛卡儿积的子集称为在域D1,D2,…,Dn上的关系,用R(D1,D2,…,Dn)表示。其中,R表示关系名,n为关系的度或目或元数。 例4-20给定三个域:姓名={张三,李四}、性别={男,女}、课程={数据库,软工}。 则域上的教师授课关系为: 教师授课(姓名,性别,课程)={(张三,男,数据库),(李四,女,软工)},其中n=3。2.关系的性质 (1)属性取自同一个域。 (2)属性是原子的,且属性名不能相同。 (3)没有重复的元组。 (4)没有行序。 (5)理论上没有列序,为方便可以有列序。4.4.2关系代数例4-21设关系R和关系S具有相同的关系模式,分别求出关系R和S的并、