版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
子查询多表连接和系统函数第一页,共二十二页,2022年,8月28日回顾学生信息表添加一条记录:
张小光,男,学号为s90311,21岁,来自泉州将张小光的地址改为平和删除张小光的信息字段名称数据类型说明stuId数字学生编号,采用自动编号stuName字符学生姓名,必填stuNo字符学号,必填,且不能重复,格式为"s903XX"stuSex字符性别,必填,只能是"男"或"女",默认为"男"stuAge数字年龄,必填,必须在15~50岁之间stuAddress字符家庭地址,可不填,默认为"地址不详"学生信息表第二页,共二十二页,2022年,8月28日课程目标子查询多表联接系统函数综合案例第三页,共二十二页,2022年,8月28日子查询什么是子查询子查询是一个嵌套在select、insert、update、delete语句或其它查询中的select查询为什么要使用子查询查询网页设计机试考了90分的学生学号
selectstuNo from成绩表
wherecourseName='网页设计'andlabExam=90查询网页设计机试考了最高分的学生学号?查询来自泉州的学生的考试成绩?
第四页,共二十二页,2022年,8月28日子查询查询网页设计机试考了最高分的学生学号
selectstuNo from成绩表
wherecourseName='网页设计' andlabExam=( selectmax(labExam)from成绩表
wherecourseName='网页设计‘
)第五页,共二十二页,2022年,8月28日子查询查询来自泉州的学生的考试成绩方法一select*from成绩表wherestuNoin( selectstuNofrom学生信息表
wherestuAddress='泉州‘)方法二select*fromScorewhereexists( select*fromStudent wherestuAddress='泉州' andScore.stuNo=Student.stuNo)第六页,共二十二页,2022年,8月28日联接为什么要使用联接?查询学生的C语言成绩,要求显示姓名,学号,笔试成绩,机试成绩?什么是联接?联接表示SQLServer应如何使用一个表中的数据来选择另一个表中的行。通过联接,可以根据各个表之间的逻辑关系从两个或多个表中检索数据第七页,共二十二页,2022年,8月28日联接联接的类型内联接innerjoin外联接
leftjoin或leftouterjoinrightjoin或rightouterjoinfulljoin或fullouterjoin交叉联接crossjoin第八页,共二十二页,2022年,8月28日联接查询学生的C语言成绩,要求显示姓名,学号,笔试成绩,机试成绩selectstuName,学生信息表.stuNo,writtenExam,labExamfrom学生信息表innerjoin成绩表on学生信息表.stuNo=成绩表.stuNowherecourseName='C语言'查询学生的C语言成绩,要求显示姓名,学号,笔试成绩,机试成绩(缺考的学生也要显示)
selectstuName,学生信息表.stuNo,writtenExam,labExam from学生信息表leftjoin成绩表
on学生信息表.stuNo=成绩表.stuNo wherecourseName='C语言'第九页,共二十二页,2022年,8月28日SQLServer中的函数字符串函数日期函数数学函数系统函数第十页,共二十二页,2022年,8月28日字符串函数SELECTSTUFF('ABCDEFG',2,3,'我的音乐我的世界')返回:A我的音乐我的世界EFG在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串STUFFSELECTCHARINDEX('ACCP','MyAccpCourse',1)返回:4用来寻找一个指定的字符串在另一个字符串中的起始位置CHARINDEX举例描述函数名SELECTLEN('SQLServer课程')返回:12返回传递给它的字符串长度LENSELECTLOWER('SQLServer课程')返回:sqlserver课程把传递给它的字符串转换为小写LOWERSELECTUPPER('sqlserver课程')返回:SQLSERVER课程把传递给它的字符串转换为大写UPPERSELECTLTRIM('周智宇')返回:周智宇(后面的空格保留)清除字符左边的空格LTRIMSELECTRTRIM('周智宇')返回:周智宇(前面的空格保留)清除字符右边的空格RTRIMSELECTRIGHT('买卖提.吐尔松',3)返回:吐尔松从字符串右边返回指定数目的字符RIGHTSELECTREPLACE('莫乐可切.杨可','可','兰')返回:莫乐兰切.杨兰替换一个字符串中的字符REPLACE第十一页,共二十二页,2022年,8月28日日期函数SELECTDATEPART(day,’01/15/2000’)返回:15日期中指定日期部分的整数形式DATEPARTSELECTGETDATE()返回:今天的日期取得当前的系统日期GETDATE举例描述函数名SELECTDATEADD(mm,4,’01/01/99’)返回:以当前的日期格式返回05/01/99将指定的数值添加到指定的日期部分后的日期DATEADDSELECTDATEDIFF(mm,’01/01/99’,’05/01/99’)返回:4两个日期之间的指定日期部分的区别DATEDIFFSELECTDATENAME(dw,’01/01/2000’)返回:Saturday日期中指定日期部分的字符串形式DATENAME第十二页,共二十二页,2022年,8月28日数学函数SELECTSQRT(9)返回:3取浮点表达式的平方根SqrtSELECTABS(-43)返回:43取数值表达式的绝对值ABS举例描述函数名SELECTCEILING(43.5)返回:44返回大于或等于所给数字表达式的最小整数CEILINGSELECTPOWER(5,2)返回:25取数值表达式的幂值POWERSELECTROUND(43.543,1)返回:43.5将数值表达式四舍五入为指定精度ROUNDSELECTSIGN(-43)返回:-1对于正数返回+1,对于负数返回-1,对于0则返回0SignSELECTFLOOR(43.5)返回:43取小于或等于指定表达式的最大整数FLOOR第十三页,共二十二页,2022年,8月28日系统函数SELECTUSER_NAME(1)返回:从任意数据库中返回“dbo”从给定的用户ID返回用户名USER_NAMESELECTCONVERT(VARCHAR(5),12345)返回:字符串12345用来转变数据类型CONVERT举例描述函数名SELECTCURRENT_USER返回:你登录的用户名返回当前用户的名字CURRENT_USERSELECTDATALENGTH('中国A盟')返回:7返回用于指定表达式的字节数DATALENGTHSELECTHOST_NAME()返回:你所登录的计算机的名字返回当前用户所登录的计算机名字HOST_NAMESELECTSYSTEM_USER返回:你当前所登录的用户名返回当前所登录的用户名称SYSTEM_USER第十四页,共二十二页,2022年,8月28日案例分析1—要求某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:
卡里面的“O和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据库中的密码中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 请编写SQL语句实现以上要求;数据库表名:Card;密码字段名:PassWord;第十五页,共二十二页,2022年,8月28日案例分析1—分析这是更新语句,需要使用UPDATE语句;因为牵涉到字符串的替换,需要使用到SQLServer中的函数Replace;第十六页,共二十二页,2022年,8月28日案例分析1—T-SQL两行SQL语句UpdateCardSetPassWord=Replace(PassWord,'O','0')UpdateCardSetPassWord=Replace(PassWord,'i','1')一行SQL语句Update CardSet PassWord=Replace(Replace(PassWord,'O','0'),'i','1')第十七页,共二十二页,2022年,8月28日案例分析2—要求在数据库表中有以下字符数据,如:
13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、13-15、14-1、14-2
现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排需,输出要排成这样:
13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2数据库表名:SellRecord;字段名:ListNumber;第十八页,共二十二页,2022年,8月28日案例分析2—分析这是查询语句,需要使用SELECT语句需要使用到ORDERBY进行排序,并且在ORDERBY的排序列中,也需要重新计算出排序的数字来前半部分的数字,可以从先找到“-”符号的位置,然后,取其左半部分,最后再使用Convert函数将其转换为数字:
Convert(int,Left(ListNumber,CharIndex('-',ListNumber)-1))后半部分的数字,可以先找到“-”符号的位置,然后把从第一个位置到该位置的全部字符替换为空格,最后再使用Convert函数将其转换为数字:
Convert(int,Stuff(ListNumber,1,Charindex('-',ListNumber),''))第十九页,共二十二页,2022年,8月28日案例分析2—T-SQLSELECTListNumberFROM
SellRecordORDERBYConvert(int,Left(ListNumber,CharIndex('-',ListNumber)-1)),Convert(int,Stuff(ListNumber,1,Chari
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《篇综合分析评价》课件
- 外阴白斑护理讲课
- 《卵巢保健》课件
- 《压型钢板设计》课件
- 周围血管疾病病人护理
- 电工家电维修课程设计
- 《复制记账原理》课件
- 电子银行促销策略研究报告
- 电子贺卡单片机课程设计
- 电子稳像课程设计
- 《江城子·乙卯正月二十日夜记梦》课件 -2024-2025学年统编版高中语文选择性必修上册
- 新员工岗前安全培训考试题含完整答案【各地真题】
- 第四届“长城杯”网络安全大赛(高校组)初赛备赛试题库-上(单选题部分)
- 国开2024年秋季《形势与政策》大作业答案
- 2024年浙江省初中学业水平考试数学试题(潮汐卷)(解析版)
- 中职教育一年级上学期英语《We Are Friends》课件
- 专题10 议论文阅读(含答案) 2024年中考语文【热点-重点-难点】专练(上海专用)
- 21 小圣施威降大圣 公开课一等奖创新教案
- 新概念第四册课文翻译及学习笔记:Lesson5
- 业绩对赌协议范文(2024版)
- 宠物医院服务行业市场调研分析报告
评论
0/150
提交评论