版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库原理与应用》
课程实验报告实验四查询设计实验所在院(系):班级: 学号: 姓名: .实验目的了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。(2)掌握数据排序和数据联接查询的方法。(3)掌握SQLServer查询分析器的使用方法。.实验要求(1)针对“TM”数据库,在SQLServer查询分析器中,用T-SQL语句实现以下单表查询操作,并将将调试成功的T-SQL命令,填入实验报告中。a)查询所有课程的详细情况。b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。e)查询所有学生的学号、姓名和年龄。f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并将成绩乘以0.7输出。g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院(DEPT_ID为09)姓张的学生的信息。。h)查询所有核心课程(课程名中带*的)的情况。i)查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。(2)在SQLServer查询分析器中,用T-SQL语句实现下列数据联接查询操作:a)查询每个学生的情况以及他(她)所选修的课程。b)查询学生的学号、姓名、选修的课程名及成绩。c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。e)分别用等值联接和内联接查询有授课记录的老师的姓名。f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该老师没有授课历史,在课程号和授课的学期中显示空值(3)在SQLServerManagementStudio中新建查询,完成以上查询命令的同时,熟悉SQL编辑器工具栏中各快捷按钮的作用。(4)按要求完成实验报告。3.实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)。一、针对“TM”数据库,在SQLServer查询分析器中,用T-SQL语句实现以下单表查询操作,并将将调试成功的T-SQL命令,填入实验报告中。(a)查询所有课程的详细情况:select*fromCourseC_IDC_NameModuleC_TypeCreditC_Houns1j{XMXKXXX);拓展训练素质柘展必修G32200000007大学英语(二)通识教育必修课程必修472300001001大学英语通识教育建课程必修16232400001002大学体育学科基的课程必修411D500001003军事理论学科基船课程必修22D6OODD1O04马克思主义基本原理学科基班课程必修3427000D10D5毛泽东思想和中国特色社会主义理论体系概论学科基础课程必修6B2SOT001006思想道德修养与法律基础学科基础课程必修342900001007中国近现代史纲要学科基础课程必修22B1000DD10D8思想道德修养与法律基础通识教育必修课程必修342表1-a(b)查询来自江苏或山东的学生学号和姓名,并以中文名称
显示输出的列名。SELECTS_IDas学号S_Nameas姓名FROMSTUDENTWHEREBirth_Place='江苏'orBirth_Place='山东'艺号 姓名1 10B6C1D1j卞威2 10D601D3 金牌3 1(X)60104 王威4 1DD6DW5 吴春生5 1W6D1D6 尹袤…6 1DDSDW7 卞莉7 1DQ6D1DS 曹格S 1CD6D1D9 戴燃3 1DDGD11D 戴报WWD6D111戴真薮表1-b(c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。selectdistinctS_IDfromscS_ID1 1D0601012 1§0601023WD60W34 10D6D1045 1阴时时口瓯的7 1(M}60107SWD6D10B9 1GM01D9n1DD60110表1-c(d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。selectS_IDEXAM_GradefromscwhereC_ID='07253001'orderbyEXAM_Gradedesc,S_IDasc
S_IDEXAM_Grade1;1出£卬15j曲而23口即135眦曲41006010537.GD510D8Q11437.00697.M710060102K.DDS1006010851口邮11336.即1056.00表1-d(e)查询所有学生的学号、姓名和年龄。SELECTS_ID,S_NAMEyear(getdate())-year(Date_of_Birth)as年龄FROMStudentS_IDS_NAME年除1:卞威2221006D102姜华2131[)D6G10M金辉21410060104王感2351006D135吴春生2161OTG0T0&为爽21710060107卞莉22g1DD6DWS曹格23,串1部6D1明戴燃21101D唾1螂22(f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并将成绩乘以0.7输出厂SelectS_ID,EXAM_Grade*0.7asgradefromSCwhereC_ID'07253001'andEXAM_Gradebetween85and95
__SJDgrade1|10060112|63,00021006011763,00031006012059500410060122665005100601246510061006012763000表「f(g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院(DEPTID为09)姓张的学生的信息。select*fromStudentwhereDEPT_IDin('07','09')andS_Namelike'张%'SJDS_NameGenderBirth_PlaceDate_af_EiirthNationalityDEPT_...□ass1|7cli5(张明浩男江苏1S91-11-12DD:D[}:uG汉族07321uD7()225张璐女迁苏1992413-27亚族0743:1DD70226张小倩女山东痴心屈日(MO074410D70227张媛媛女江苏1991-1515附。口趾074510G70935弓长丽娟女江苏19S2-024M即阳:R灾旅0756张文菲女江苏汉族0751张晓女,江苏1952-12-28的邮册表1-g藐075(h)查询所有核心课程(课程名中带柏勺)的情况。SELECT*FROMCourseWHEREC_Namelike'%*%CJDC_NameModuleC-TypeCreditC_Hourg1:QDSD4DD1I计算机导论.专业理论课;拓修34S2DDSB4DD3匚语言程序设计.专北理论课必修.4723DDSD4DD5离散数学.专业理论课金修3424数据结构与算法.专北理论课必修4.5725DDBD4DD7软件工程.专北螃课/修34S1卷:00SMW8数掂库原理与应用.专业理论课必藏A722_操作系统*通识救肓宓悔课程必脩356£。口第401。计尊机组成原理.通识教苜立福课程泌修.35赞据结构与其法专业理论课必修4.5721DD7254W1计算机导论*专1H里论课必脩2.536表1-h⑴查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。selectS_ID,C_IDfromSCwhereEXAM_GradeISNULLorderbyC_ID'SJDCJDi rT™T&2-'i口於心瞪g彳雨邈I便理蜘
3 10口RE笛 D7234M24 1D&702D4 D72S4W35 1D&7D221 07294-DD56 1即7卬侬 07296M77 1的用112 07235007£ 1那用耶 。聊织H1表1-i二、在SQLServer查询分析器中,用T-SQL语句实现下列数据联接查询操作:(a)查询每个学生的情况以及他(她)所选修的课程。SelectStudentS_IDS_Name,Gender,Birth_PlaceDEPT_ID,Class_ID,Course.C_namefromStudentjoinSConStudentS_IDSC.S_IDjoinCourseonCourseC_ID=SC.C_IDS_IDS_NameGenderBirth_PlaceDEPT_...□ass_IDC_name1:1况的1R:卞威算山外的2大学数学BJ21DD6DW1卞威更江苏2◎吾言程序设计310060102姜华S北京1}62大学数学B(-?41DD6DW2姜华里北京D62匚语言程序设计51DD6D1D3金牌男江苏(S2大学数学B(-)61DD60W3金牌勇江苏DG2C谙言程序设计71CDW1D4王威里L苏G62大学数学BTS1DD6U1D4王威里江苏跖2匚谙言程序设计3_1DD601D5吴春生S江拄跖2大学数学B(-)1D1DDSDW5吴春生男江苏D£2C谙言程序设计表2-a(b)查询学生的学号、姓名、选修的课程名及成绩。
selectStudent.S_ID,S_NameC_Name,EXAM_GradefromStudentinnerjoinSConStudent.S_ID=SC.S_IDinnerjoinCourseonSC.C_ID=Course.C_IDSIDSNamsCNameEXAMGradeWD6D1D1l&SGOIDl'10D6D1D21DD60W21DD6GWJ1DQ601KSIDSNamsCNameEXAMGradeWD6D1D1l&SGOIDl'10D6D1D21DD60W21DD6GWJ1DQ601K1DDED1D4WCEG1D4卞威卞威姜华姜华金辉金牌王威王威大学数学B(-)C语言程序设计大学数学B(-)匚语言程序设计大学数字B(-)匚语言程序设计大学颈学B(-)C语言程序设计WDGG1D5吴春生大学数学B(-)1C&S0W5吴春生匚语言程序设计72.DD84函96,WNULL580091.0D71.0D87面74.DD
65.3D表2-b(c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。SelectStudent.S_ID,S_NAME,EXAM_GradefromStudent,SC,Coursewhere Student.S_ID=SC.S_IDandCourse.C_ID=SC.C_IDandC_Name='C语言程序设 计'andEXAM_Grade>=85SJDS_NAMEEMM_Grade1金辉91加21GD601D4王威S7.-DD31即晒m薮真毅9S.OO41[)060112方宏5S.0D5woGom方文威97.0D;&:10060114郭政盟007.1DM0116洪扬S7.00B1MW20梁雯51叩60122刘艺霎88.00W1DD60125霜婷婷S9.W表2-c
(d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。SELECTS_NamefromStudentwhereNationality=(selectNationalityfromStudentwhereS_Name='柏文楠')S_Name1]敲辅……'"丽喳…钮阿红表2-d(e)分别用等值联接和内联接查询有授课记录的老师的姓名。•等值联接 Teacher,TC whereselectDISTINCTT_NamTeacher.T_ID=TCT_IDefromTeacherinnerjoinefromTeacherinnerjoinTConTeacher.T_ID=TC.T_ID1尚文祥2董娅3营平4郭拓5黄长江6芮鹏7石佳8或悼9张晓敏W.-Name表2-e•内联接select DISTINCTT_Name from(f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该老师没有授课历史,在课程号和授课的学期中显示空值。selectTeacher.T_ID,Teacher.T_Name,Teacher.Academic_TitleDepartmentDEPT_NameTC.C_ID,TC.SemesterfromTeacherRightjoinTConTeacher.T_ID=TC.T_IDjoin Department ONDepartment.DEPT_ID=Teacher.DEPT_IDorder by Department,DEPT_Name ,Teacher.Academic_TitleT_IDT_Nam&Academic_TitleDEPT_NameC_IDSemester1I芮嘿副教授数学与信息技术学院D7254DD22D11-2D12-22T口也口期丙曜副教授数学与信息技术学院D72MW22G11-2D12-23TCDD1DD6戴文祥副教授数学与信息技术学院D7295IJDS2D12-2D1S-14戴文祥副教授数学与信息技术学院口7295躅2012-2013^15周乐副教授数学与信息技术学院625犯田2D11-2C12-26TDD02D13周乐副教授数学与信息技术学院D7253DC12011-2D12-27TD吧却口2郭柘副教授数学与信息技术学院。72驯睡2G11-2012-1BTDD&&DD2郭拓副教授数学与信息技术学院D72&4DDS2D12-2D13-19TDDD2D11董娅讲师数学与信息技术学院D7255DD22D12-2013^1WTDD02D11董娅讲师数学与信息技术学院G7295M22G12-2D13^1表2-f4.实验思考:①联接查询中,输出列名时何时可以忽略列名前的表名,何时不能?
>完整写法>完整写法若选择的字段名在各个表中是唯一的,则可以省略字段名前的表名。②联接查询中,INNERJOIN、LEFTOUTERJOIN、RIGHTOUTERJOIN、FULLOUTERJOIN的结果各有什么不同?♦:♦INNERJOIN:Innerjoin产生的结果集中,是A和B的交集SELECT*FROMTableAINNERJOINTableBONTableA.name=TableB.name(1)Left匹配的则有值,♦:♦LEFTOUTERJOIN:outerjoin产生表A的完全集,而B表中没有匹配的则以null值取代。(1)Left匹配的则有值,SELECT*FROMTableA.name=SELECT*FROMTableA.name=Leftouterjoin(i)TableALEFTOUTERJOINTableBONTableB.nameLeftouterjoin(2)Leftouterjoin(2)(2)产生在A表中有而在B表中没有的集合。TableBTableBSELECT*FROMTableALEFTOUTERJOINTableBONTableA.name=TableB.nameWHERETableB.idISnull♦:♦RIGHT[OUTER]JOINRIGHTOUTERJOIN是后面的表为基础,与LEFTOUTERJOIN用法类似。♦:♦FULL[OUTER]JOI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业社会责任履行行为制度
- 老年衰弱研究进展2026
- 物流运输质量管理流程
- 2026-2030实木橱柜产业园区定位规划及招商策略咨询报告
- 2025年事业单位招聘考试审计类综合能力测试卷及答案
- 2026年软件开发合作协议(区块链技术)
- 2026年区块链供应链管理合同
- 养老院2025年智能服药提醒协议
- 2026农业科技行业分析市场规模发展趋势报告
- 2026农业种植业市场供需现状及投资价值评估规划研究报告
- 2026年交管12123驾照学法减分完整版试卷附答案详解(轻巧夺冠)
- 2025-2030中国短肽型肠内营养剂行业市场现状分析及竞争格局与投资发展研究报告
- (二模)呼和浩特市2026年高三年级第二次模拟考试生物试卷(含答案)
- 2026年咸阳高新区管委会及下属公司招聘(32人)笔试参考题库及答案解析
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 等效声级计算表
- 电气施工方案罗湖二线插花地项目
- AS9120B程序文件一整套
- 门脉高压性消化道出血的介入治疗
- 项目监理机构人员配置标准(试行)
- VarianVS氦质谱检漏仪简介课件
评论
0/150
提交评论