版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer数据库实践数据查询目录1、单表查询2、连接查询3、嵌套查询4、集合查询5、基于派生表的查询一个select,from后面只有一张表一个select,from后面多张表,按条件连接多个select,分为父查询和子查询多个select,平等的集合查询集合操作的种类并操作UNION交操作INTERSECT差操作EXCEPT参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同UNION:将多个查询结果合并起来时,自动去掉重复元组。UNIONALL:将多个查询结果合并起来时,保留重复元组INTERSECT
--交操作SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库'集合查询【例题5-37】查询哪些学生同时选修了“大数据导论”和“数据库”课程,显示出学生的学号。SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'结果是:1001和1003问:是否有另外的写法?并操作UNION交操作INTERSECT差操作EXCEPTINTERSECT
--交操作SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库'集合查询【例题5-37】查询哪些学生同时选修了“大数据导论”和“数据库”课程,显示出学生的学号。SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'结果是:1001和1003问:是否有另外的写法?连接+嵌套查询:SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'andSnoin(SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库')EXCEPT
--差操作SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库'集合查询【例题5-38】查询哪些学生选修了“大数据导论”但没有选修“数据库”课程,显示出学生的学号。SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'结果是:1002连接+嵌套查询:SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'andSnonotin(SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库')问:是否有另外的写法?并操作UNION交操作INTERSECT差操作EXCEPTUNION
--交操作SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='数据库'集合查询【例题5-39】查询选修了“大数据导论”或者“数据库”的学生学号。SELECTSnoFROMCoursec,SCWHEREc.Cno=SC.CnoandCname='大数据导论'连接查询:SELECTdistinct
SnoFROMCoursec,SCWHEREc.Cno=SC.Cnoand
(Cname='大数据导论'or
Cname='数据库')
问:为什么需要distinct?并操作UNION交操作INTERSECT差操作EXCEPT结果是:1001、1002、1003数据查询目录1、单表查询2、连接查询3、嵌套查询4、集合查询5、基于派生表的查询一个select,from后面只有一张表一个select,from后面多张表,按条件连接多个select,分为父查询和子查询多个select,平等的基于派生表(查询表)的查询SELECT查询块不仅可以嵌套在WHERE子句中,还可以出现在FROM子句中。SELECT[ALL|DISTINCT][TOPn|PERCENT]<输出列表>]…FROM数据源列表[WHERE<条件表达式>][GROUPBY<分组表达式>[HAVING<条件表达式>]][ORDERBY<排序表达式>[ASC|DESC]]三种表:基本表、查询表、视图表嵌套查询:SELECTName,sex,BirthDayFROMStudentWHEREBirthDay=(SELECTMAX(BirthDay)FROMStudent)
基于派生表(查询表)的查询【例题5-40】查找年龄最小的学生的姓名、性别和出生日期,请用基于派生表的查询实现。(例题5-33的另一种写法)SELECT
Name,sex,BirthDayFROMStudent,(SELECTMAX(BirthDay)BirthFROMStudent)mWHEREBirthDay=Birth
基于派生表(查询表)的查询【例题5-36】查询每个学生超过他自己选修课程的平均成绩的课程号。嵌套查询:(相关子查询)SELECTSno,CnoFROMSCs1WHEREGrade>(SELECTavg(Grade)FROMSCWHERESno=s1.Sno)问题:
能否改为基于派生表的查询?基于派生表(查询表)的查询【例题5-36】查询每个学生超过他自己选修课程的平均成绩的课程号。嵌套查询:(相关子查询)SELECTSno,CnoFROMSCs1WHEREGrade>(SELECTavg(Grade)FROMSCWHERESno=s1.Sno)基于派生表的查询:SELECTSC.Sno,CnoFROMSC,(SELECTSno,avg(Grade)pjcjFROMSCgroupbySno)cjWHERESC.sno=cj.snoandGrade>pjcj
嵌套查询:SELECTCno课程号,Cname姓名,hours学时FROMCourseWHEREhours>(SELECTavg(hours)FROMCourse)改为基于派生表的查询
基于派生表(查询表)的查询【例题5-34】查询比平均学时高的课程的课程号、课程名和学时。操作练习实验10多种方式多表查询
(1)查询库存量低于100的商品订货信息,包括商品编号、订货时间、订货数量、客户编号,并按照商品编号、订货时间排序。(2)查询某月(自己指定)订货超过三次的商品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理岗位晋级与职业规划
- (新教材)2026年沪科版七年级上册数学 4.4 角 课件
- 中年心脏护理:如何保持健康的体重
- 巨脾患者的舒适护理与提升生活质量
- 2025年办公室家具租赁合同协议
- 解读中华人民共和国《黄河保护法》修订专题
- 运用HFMEA管理构建医护一体化模式降低老年手术患者术中低体温发生率
- 2025年工业数字服务平台推广方案
- 在线预订平台发展研究
- 2026 年中职康复工程技术(康复设备制作)试题及答案
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)英语试题(含答案详解)
- 2026年合同全生命周期管理培训课件与风险防控手册
- 特殊儿童沟通技巧培训
- 理赔管理经验分享
- 中国马克思主义与当代2024版教材课后思考题答案
- 2026年日历表(每月一页、可编辑、可备注)
- DB44∕T 1297-2025 聚乙烯单位产品能源消耗限额
- 2025年历城语文面试题目及答案
- 援疆工作调研报告
- 机车-受电弓碳滑板磨耗检测
- 数学建模电子教材
评论
0/150
提交评论