数据库原理实验报告(4)_第1页
数据库原理实验报告(4)_第2页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理实验报告(4)南京晓庄学院数据库原理与应用课程实验报告实验四查询设计实验所在院(系):信息工程学院班级:13软件工程转本 1 班学号:_13131151_姓名:_薛伟_1. 实验目的(1)了解查询的目的,掌握SELECT语句的基 本语法和查询条件的表示方法。(2)掌握数据排序和数据联接查询的方法。 掌握SQL Server查询分析器的使用方法。2. 实验要求(1)针对 “TM”数据库, 在SQL Server查询 分析器中,用T-SQL语句实现以下单表查询 操作,并将将调试成功的T-SQL命令,填入 实验报告中。a) 查询所有课程的详细情况。b) 查询来自江苏或山东的学生学号和姓名,

2、并以中文名称显示输出的列 名。c) 查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一 次)。d) 查询选修课程号为 07253001 的学号和成绩,并要求对查询结果按成绩 降序排列,如果成绩相同则按学号升序排列。e) 查询所有学生的学号、姓名和年龄。f) 查询选修课程号为 07253001 的成绩在 85-95 之间的学生学号和成绩,并将成绩乘以 0.7 输出。g) 查询数学与信息技术学院 ( DEPT_ID 为 07) 或物理与电子工程学院 (DEPT_ID为 09)姓张的学生的信息。h) 查询所有核心课程(课程名中带*的)的情况。i)查询缺少了成绩的学生的学号和课程号,查询结果

3、按课程号升序排列。(2)在SQL Server查询分析器中,用T-SQL语句实现下列数据联接查询操作:a) 查询每个学生的情况以及他(她)所选修的课程。b) 查询学生的学号、姓名、选修的课程名及成绩。c) 查询选修 C 语言程序设计且成绩为 85 分以上的学生学号、姓名及成绩。d) 查询和学生柏文楠是同一个民族的学生(用自身联接实现)。e) 分别用等值联接和内联接查询有授课记录的老师的姓名。f) 用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院 系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该 老师没有授课历史,在课程号和授课的学期中显示空值(3)在SQL Serv

4、er Management Studio中新建查询,完成以上查询命令的同时,熟悉SQL编辑器工具栏中各快捷按钮的作用。(4)按要求完成实验报告。3. 实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)一、针对 “TM 数据库,在 SQL Server 查询分析器中,用 T-SQL 语句实现以 下单表查询操作,并将将调试成功的 T-SQL 命令,填入实验报告中。(a)查询所有课程的详细情况:select * from CourseC_NnieModuleCiediC_Hours1CttOMOOOl必修032200000007必修4723nnnoion1Z12斗0OD

5、U10C241105000010C3学科臺E龌侵必修220OOOUlOt4鸟宜患主女荃亦療理学利基召鑽惶2427000010C5毛澤掠JS想和中E特色社会主支理论体系极论3230ODCX10C6思想道鶴修养与祛宦墓础学科斟出课程必修3429000010C7中邸近珈代剋冈妾学科劭龌医22510OODOOC8 思想逍伺修养与总僵基础34Z11000020C3G 圆空化桶论学利臺砒课程3旅(b)查询来自江苏或山东的学生学号和姓名,并 以中文名称显示输出的列名。WHEREBirth_Place =江苏or Birth_Place =山东字号姓名1I 10060101 |卞威210C60103金薛310

6、060104王威410060105昊春生51DC6010S6 61(JC60107卞莉7100601 ceW&3 310060109戴燃91D0S011D戴艇101(X)60111111D0S0112方宏(c)查询选修了课程的学生学号(一人选了多门课 程的话,学号只显示一次)。|_E_ID110060101 ,2100F0102100E010341006010451006010510060106,7100G0107.3100601031006010910100601101110060111SELECT S_IDFROM Stude ntas 学号,S_Name as 姓名(d)查询选修

7、课程号为07253001的学号和成绩, 并要求对查询结果按成绩降序排列,如果成绩相 同则按学号升序排列。select SD, EXAM_Gradefrom scwhere C ID=07253001order by EXAM_Gradedesc, SD ascS_ICS_ICIB-SIBIISJIII ii SJII IIIJHI1 IUI Mil lllli 10060115 j99 002iSS面-99 003100601359000900041005010997 005 51008011497.0061009013397 0071005010296 00e e1006010836 009

8、100601139C00101005011936.001111looeoioe96.0096.00(e)查询所有学生的学号、姓名和年龄S_ID, S_NAMEyear (getdate ()-龄FROMStude ntJ 1F3*& TIDS_MAME年龄1l13060101卞威25213060102萎华2431(10601032411060104王威265 510060105吴粽生2424610060106尹爽24? ?100E0107卞莉2581006010326910060109241010060110戴挺2525111006011125(f)查询选修课程号为07253001的成

9、绩在85-95之间的学生学号和成绩,并将成绩乘以0.7输出SelectSD, EXAM_GradW.7 as gradeSELECTyear (Date_of_Birth ) as年from SCwhere CD=07253001 and EXAM_Gradebetween 85 and 95Dgrade1VII rwv21006011763 0003100G012059.50041006012266 50051006012465.10061006012763 00C71006013462.30031006013666.5001008010162 30010100801021008010259

10、5005950011_1003OH059.500(g) 查询数学与信息技术学院(DEPT_ID为 07)或物理与电子工程学院(DEPT_ID 为09)姓张的学生的信息。select * from Student where DEPT_ID in (0709) a nd S Name like 张%S_IDS_IDGendeiGendei Biith_PlaceBiith_PlaceDate_o(_BDate_o(_BirthNationalityNationalityDEPT_.DEPT_.CISESJD110073115 张明浩男1991 J1-12 00;QQ;00073? ?100702

11、251992-09-27 00:00:000743 31007DQ26山东1991 -01 -10 00:00:00070744 410070227江苏1991 -10-15 00; 00:0007451007DS3S张丽娟玄江苏19912 04 00:00:00075g1007U93G兆立菲玄江苏1 993-04-07 00:00:00075710070937江苏1992-12-38 00:00:00洩膜075(h) 查询所有核心课程(课程名中带*的)的情况。SELECT * FROM Course WHERE C_Name like%*%:IDIDC_M ameModuleModuleC_

12、TMpe CreditC_Haurs1008D4DQ1008D4DQ1计算机导论专业理论谍必修3 3482OOQD4QO3匚语盲程序设计.专业理馆课必修472300804005离散数学”专业理论课必修 42400804006数踊錯构与算法背业理馆课必隆4.572500904007軟怦工谡“专业理沦课34960304006赞据库原琏与应用专业理论课必修472100904009逋识数育业修课程3 !| 5S6003040110计算杭組成眾理”通识教育必修课程必修35690130400E變据结构与算法辛业理论课4 572100725400107254001计宜机导论“专业理论谍必修2 2 5 536

13、11计宜机廻成原理“专业理论课必修3.5(i) 查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列select SD, CD from SCwhere EXAM_GradeIS NULLorder by CDS IDJ C IDii aaiii!1 1i10060102 | 072940022 2*100Sll3072940023 310080126 072940024 410070204100702040707; 94003940035 51007U221 072940056 61007010410070104072950070729500711007011200701120729

14、5Q0781007020e1007020e09CM01109CM011二、二、在 SQLServer 查询分析器中,用 T-SQL 语句实现下列数据联接查询 操作:(a)查询每个学生的情况以及他(她)所选修的课 程。Select Student . S_ID, S_NameGender,Birth_Place , DEPTD Class_ID,Course. C_name from Student join SC onStudent. S_ID=SCS_ID join Course onCourse. C ID=SCC IDSJOSJOGenderBirdPlce DEPT” Ck隣D匚_nq

15、mu110060101卞威男江茹OS2大学数学B (-)2 21005010110050101卞威男OSOS2U 语言程序设计310060102董华男北京06 2大学数学吕(-J41005010210050102姜率男OS2C语言程序设计510060103男江茹06 2大学数学E ( - J6 61005010310050103男迁苏06 2C语言程序设计710060104王威男江茹圧2大学数学B (一J3 31006010410060104壬威男江苏0606 2 2C语言程序设计310060105吴春生男江茹06 2大学数学E ( - J1010060105昊春生:男江苏0G2C语言程序设计

16、1110060106男江苏06 2大学数学B (一J(b)查询学生的学号、姓名、选修的课程名及成绩。select Student.S_ID , S_ _NameC_Nam,eEXAM_GradefromStudent innerjoinSC onStude nt .S_ID=SCS_ID innerjoin Course onSC C_ID=Course.CDS_IDS_NarrieC_NameEMGrade110060101 卞威大学数学EC -)72.00210060101卞咸旖言程声设计34.003100SU102姜肆大学数学BC-)9G.00410050102磨言程序擾计NULL510

17、0G0103大学数学叭一)58.0)610060103匚语言程序设计91.007 7100G0104王威大学数学叭一)71,0C810060104王威匚语言程睁设计07.00910050105昊舂生大学数学叭一74.001010060105吴春生匚诺言程序设计65.001111100S010S100S010S尹融JB(-)74.00(c)查询选修 C 语言程序设计且成绩为 85 分以上的学生学号、姓名及成绩SelectStudent. SD, S_NAMEEXAM_GradefromStudent, SC, CoursewhereStudent . S_ID=SC SD andCourse.

18、C_ID=SCC_ID and C_Nam=C语言程序 设计and EXAM_Grad=855_IDS_NAME EXAM_Giflde1ioDGoioa mi-ini v iL111 irrniii91 00210060104 王威67.00310K01119S.Q04100E0112方宏99.00510060113方文触97.0UB1006011491. CO71006011G67.003100601ZU架雯60.0U910060122京IJS弄eaoo1010060126酒婷婷Q9.0011UUtiO127矗瓦94.00121C06D129as onLu_ -i fkwcr nn T 壬

19、:LB cr nn.(d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。SELECT S_Name from Stude ntwhere Nati on ality =(select Nati on alityfromStude nt where S_Name=柏文楠)1 NameieSSj2a硼可红(e)分别用等值联接和内联接查询有授课记录的 老师的姓名。1.等值联接select DISTINCT T_Name fromTeacher inn er join TC on Teacher . T_ID =TC. T_IDDISTINCT T_Name from whereTeacher

20、 . T_ID=TC T_ID(f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院系、 担任的课程号和授课的学期,结果按院系和职称升序排列。如果该老师没有授 课历史,在课程号和授课的学期中显示空值。selectTeacher. T_ID, Teacher.T_NameTeacher. Acade mic_Title ,Department.DEPT_NameTC C_ID, TC Semesterfrom Teacher Right joi n TC onTeacher. T_ID=TC T_ID joinDepartment ONDepartment. DEPT_ID=Tea

21、cher. DEPT_ID order byDepartme nt.DEPT_Name ,Teacher. Academic TitleT TD DT_rJanieT_rJanieAcademic_TitleAcademic_TitleDEDE:PT_NamePT_NameC_IDSemesterSemester1T0000002I芮鹏I數学与信息按术学晓072940022011-2012-22TOOQQOQ3TOOQQOQ3芮鹏數学与信息技术学院07294002072940022 2叩如Z2Z23TOOD1 DOS颤坚与借息撞术亍匪072950082012 201314T0001006戴文祥

22、数学与信息技*学院072950032012-2013-1_5T0OD2013周乐数学与信息拽术学疏072530012011-2012-26T0002013數学与信慝技尢学院07253001072530012011 2012 21T 0039002郭拓副教援数学与信息技术学院072940022011-2012-18T 009900?數学与信息拽术学院072940032012-2013-19TDOOC011讲师数学与信息技术学院0729500220122013-11CT 0002011泡币数学与借息撞朮学匿072950022012-2013-111TOUDOD05石隹讲1帀数学吁信息技朮学院072

23、940022011-2012-212TD000005石佳讲师数学峙信息拽术学腕072940022011-2012-2li-nTmnnn-i 1二卄届WrrK十貯mninmnnnirn a mrT-iiTeachselect4.实验思考:1联接查询中,输出列名时何时可以忽略列名前 的表名,何时不能?表名列名若选择的字段名在各个表中是唯一的,则可以省 略字段名前的表名。2联接查询中,INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN的结果各有什么不同??INNER JOIN:Inner join产生的结果集中,是A和B的交集A1

24、Toblc Dfjjf tINNER JOINSELECT * FROM TableA INNER JOIN TableB ONTableA .n ame = TableB .n ame?LEFT OUTER JOIN:Left outer join产生表A的完全集, 而B表中匹配的则有值,没有匹配的则以null值取代。T oblo AT Bbl fl BLeft outer j oin(l)SELECT FROMTableA LEFTOUTEROIN TableBON TableA .n ame = TableB .n ame(2)产生在A表中有而在B表中没有的集Left outer join(2) )SELECT FROMTableA LEFTOUTEROIN TableBON TableA .n ame = TableB .n ameWHERE TableB.id IS null? RIGHT OUTE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论