1、实验五SELECT数据查询旦结果.冷消息sno sname1s10 吴玉江*huiaiuuiiKiuiE2S6 马常友实验五、SELECTS据查询一、 实验目的要求学生熟练使用 T-SQL语句进行数据查询,掌握 SELECTS句的基本结构和多表连接 查询、子查询、分组查询、查询结果的排序等操作。二、 实验内容(1)利用SELECT询语句进行单表、多表查询设计。(2 )禾9用SELECT语句进行子查询和外连接查询 .(3)设计 ORDER B渣询子句以及带有 GROUP BY的查询子句。三、 实验指导1、 SELECT基本语句格式SELECT询的基本语句包含要返回的列、要选择的行、放置行的顺序和
2、将信息分组的 规范,其语句格式如下:2、 简单查询实验利用T-SQL语句在JXGL数据库中实现简单查询操作:(1)查询数学系(MA)学生的学号和姓名。USE JXGLGOE SELECT sno, snarr.e from 3-where adept GO(2)查询选修了课程的学生的学号USE JXG匸GO SELECT snoFROM SCGO(3)查询选修了课程号为“ C2”的学生的学号和成绩,并对查询结果按成绩降序排列,如果 成绩相同则按学号升序排列。USE JXGLGO SELECT sno,gradeFROM SCWHERE (cnc1 C2 )ORDER 3Y grade DESC
3、,snc 鑫5匚GO(4)查询选修了课程为“ C2的成绩在80到90分之间的学生的学号和成绩,并将成绩乘 以0.8输出。USE JXGLGO SELECT sno as 学号 * 已d芒” 0.8h,成绩Jg玄课程号,FROM5C-J-口乔-JIWHEREcno=1 c2 and学号成第课程号gradebetree 80 and. 901j S5I 72C2orderby grade desc snc asc2S1070.4C2-3S2704C2GO4S6704C2(5)查询数学系(MA)或计算机科学系(CS)中张的学生信息(6 )查询缺少了成绩的学生学号和课程号USE JXGLGOE SEL
4、ECT 3NG, CNCFROM SC-WHERE grde IS NULLGO3、连接查询实验利用T-SQL语句在JXGL数据库中实现下列连接查询(1)查询每个学生的情况以及他(她)所选修的课程USEGOJXGLselect S.,C * cname f roic Sr SC, Cwhere ST 3no=sc.ano and sccno=C,cnc;GOsnosnameagesexsdeptcname1UIJILIUIBIUIUII张晓倩21FCSmath2S10吴玉江22MMAmath3S11张金凤23FISmath4SB吕露19女CSChinese5S2姜芸24FISmathGS3李小
5、冈I20MCSmath7S522FISmath二1结果消息(2)查询学生的学号、姓名、选修的课程名及成绩结果山消息snosnameyrsds1 i siir強金風392 S5李芸303 S7张文秀99(3)90分以上的学号、姓名及成绩查询选修“离散数学”课程且成绩为USE JXGLGOselect S . ano , snair . gradefrom SfSCfCwhere S.sno-3c.snoand sc + cno=C.cna =nd grade=90and cnaiLe=1 math *GOCOGeno*1j 23;23122d2432525426265ClCl6C2C23结果_J
6、消息(4)查询每一门课的间接先修课(即先修课的先修课)USE JXGLGOselect c.second.enofront c as first, |o assecond where first. onc-second. cflqGO4、嵌套查询利用T-SQL语句在JXGL数据库中实现下列嵌套查询操作:(1)查询选修了“离散数学”的学生的学号和姓名。USE JXGLGO日 select sno,samefroic Swhere snoz_n select sno frein scwhere cno= (select enofroir c where crLaiEe1 mathGO消息512,级
7、别16,状态1,第1行子查询返回的值不止一个肖子章询跟随在= =之后,或子查询角推表达式时;这种情况是不允许的。(2)查询课程号为“ C2、成绩高于张林的学生的学号和成绩USE JXGLGOSELECT gradeFROM 5CWHERE 5Cx cna = ,C2 T 三nd gradeESELECT gradeFROM S亡WHERE 5匚 nc-CZ1 AND sno-(SELECT anoFROM 5WHERE mnaiy=i 张林,)(3)查询其他系中年龄小于计算机科学系(cs)中年龄最大者的学生GOE SELECT -|FROM 5WHERE sdepi:r 亡5 Ai-IL (S
8、ELECT 1-IAX ageFROM 5 WHERE 3dept=,CS,L GOsnosnamesexsdept1i $4-ti 土册萍19FIS2S6“张常友20MMA-a- :- 1 二踣果J消息(4)查询其他系中比计算机科学系(cs)中学生年龄都小的学生USE JXGLGOB SELECT *FROM 5WHERE sdep匸A1ID age(select AVS (scg工已1日皂from SCr 亡where c . cnan;e= *计算机基础GO(3)查询年龄大于女同学平均年龄的男的同学的姓名和年龄USE -JXGLGO select age , anairLefrom 5a
9、gesname1!囲I李球22S王洪敏where sex=M1 and age( select AVG f ag已i from SWhere sex= * Fr GO列出各系学生的总人数,并按人数进行降序排列USE JXGLGO3 select adept as */完系丁COUNT (*) as 人数f rem Sf | /MJ?S |group by sdset除系.人数order by 人数、desc1 f is : 6GO2 MA 53 CS 31MIIBIIUIIUIMIIU|CS25NULL2IS25NULL3MA25NULL4CSC293 6S66666旺5ISC293 6666
10、eS6C676MAC293566666566耐7CSC48253ISC4S2.59 MA匸4825sdept eno阮列自二结果(5)统计各系各门课程的平均成绩USE JXGLGO select sdep ,eno,AVG(gradei ftoil S, S亡-group by adept,enoGO(6)查询选修了“计算机基础”和“离散数学”的学生的学号和平均成绩 SELECT AVS(gradei from SC as siWHERE 计算机基础* in (select cnair.efrom Cwhere eno ir(select s2,enofrom SC as s2wnere cBci i -离散数学,in( select cnair.efrom Csnowhere eno in(select enofrom SC sls s3where s3-snc=31,sna|-group by al. sncl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1