实验7数据查询【实验内容】7.1单表查询1、指定列或全部列查询1) 查询S表中全体学生的详细记录use jxsk select * from S出言岂select - f Tdtt s|.1结杲SEX AGE DEPT NATEVEJ_a,i soi王青山19计算机NULL2SI—赵亦17软件MULL 35218计算机NULL4S3弓綽明胃IS信息NULL554李四21包动ft NULL&S519软件NULL756昊丽20计算机NULL8S7范思明女ie NULL9S820自动化NULL10S919枫牛NULL2) 查询所有学生的姓名及其岀生年份。
use jxsk select SN, 2012 - AGEfrom S1「王諭】1&932赵亦1995J钱尔15944號慣明隔&李四1S516周展憫15537昊丽13828范思明1994S?«1S9210张海涛2、按条件查询及模糊查询1)查询考试成绩有不及格的学生的学号。
use jxsk selectdistinct SNOfrom SCwhere SCORE<602)查询年龄在20 —23岁之间的学生的姓名、系名和年龄use jxsk select SN,DEPT, AGEfrom Swhere AGE>=20 and AGE<= 30□ us* select 5N, DEET, troni 5L AGE>=20 ard AGE<-30V结果J消息| SH DEPT ,<SE1[ SS'J自动化212昊丽计算机203补珊自动化203)查询姓李的学生的姓名、学号和性别。
use jxsk select SN, SNO, SEXfrom S where SNlike '李%'□ use jxsk select ^NO f SEX from 5 wriere EE 丄是'李虽「Array4) 查询名字中第二个字为明”字的男学生的姓名和系名use jxsk select SN, DEPTfrom Swhere SNlike '_% 明’and SEX='男’SN DEPTi !信息h^iiiiauaB in KI ■■■■■&■■■■#3、对查询结果排序1) 查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。
use jxsk select SN, DEPTfrom Swhere DEPT='信息’ORDEPT='计算机'orderby DEPT, SNDESC□ -Lii* _ XB JC S*l*Ct 52l.rfrom Ewhere DEPT ='信息・OR DEPT =・计算机・ ariex byDEPT,SN D 兀右匚 * H口结果[Z5~谓息1吴丽 2王青山 3战尔 4弓耐 5 范思明2) 查询所有有课程号 C2成绩的学生的学号、课程号和成绩,并按成绩降序排序。
use jxsk select SNO, CNO, SCOREfrom SC where CNO='C2' and SCOREis not null orderby SCOREDESC7.15,Lsql -THlNIG^THINICXTliinktSl))Q use ixsk select 5NO f CTIQ, SCOREfreir. SC :■wKere CNG = 11 and SCC^E is net rr 一丄 1 order tsy 5GGREDESc]< ■口结果J 港島4、 使用聚集函数的查询1) 查询计算机系学生总人数。
use jxsk select COUNT(*) from S where DEPT='计算机□ select ecu :ITfrom Swhere DEP 二二'计巨机'二]菇■果:消息氐列名}1 j 31L E — L ," .FL ,』 2)机机机" K 算直惠巨 计计计“信禧r-Luse jxsk select COUNT(*), AVG( SCORE), MAX( SCORE)from C, SCwhere CN='微机原理’and C. CNO=SC. CNO□ nae jitglc select COUNT ■ ' , AVG (S亡ORE , MAX [SCOREfrcm C r SCwtieie 匚'微机原寸里'二;w*CNQ=SG.GNQ二1结果區5鴨氏列宕)「£?&列名1优列自1「0 \ NULL NULL*f”■ rrminr^^45、分组统计查询1) 查询各个课程号及相应的选择人数。
use jxsk select CNO, COUNT( SNO) as 人数from SC二结貝J消息CNO人埶2)查询选修了两门以上课程的学生姓名和平均成绩use jxsk select SN, AVG( SCORE)from S, SCwhere S. SNO=SC. SNOgroupby (S. SN)hav ing COUNT(*)> 27.2连接查询1、连接查询1) 查询所有选课学生的学号、姓名、选课名称及成绩use jxsk select SN, S. SNO, CN, SCORE from S, SC, Cwhere S. SNO=SC. SNOand C. CNO=SC. CNO2) 查询每门课程的课程号、任课教师姓名及其选课人数。
use jxsk select C. CNO, TN, COUNT( SC. SNO)from SC, C, T, TCwhere C. CNO=SC. CNOANDT. TNO=TC. TNOANDC. CNO=TC. CNOgroupby C. CNO, T. TN□ pse jxsk selecr 匚.匚NO K TN r CCUtTT i5C,5NO)from 5匚,C,T,TCwhere O=O ANET . INQ=TC . INC 初DC ・ CNO=TC ・ CNQ -group toy C .CNO,I.TNCNO TM 怒闾2、 自身连接1) 查询所有比刘伟”工资高的教师的姓名、工资以及刘伟的工资use jxsk select X. TN, X. SAL, Y. SALfrom TASX, TASYwhere X. SAL>Y. SAL ANDY. TN='文刘伟'TN SAL SAL1i 张兰 i 13W 900 —■ IILU ■■ I r 2张雪 1 TO 9M 3 李力 i™ SM2)查询同时选修了程序设计”和微机原理”的学生的姓名、课程名use jxsk selectdistinet SN, C1. CN, C2. Cfrom CASC1, CASC2, SCASSC1, SCASSC2, Swhere C1. CNO=SC1. CNOANDC2. CNO=SC2. CNOANDC1 . CN='程序设计'ANDC2. CN='微机原理'ANDSC1 . SNO=SC2. SNOANDSC1 . SNO=S. SNO□ use ->csk select C I JLS七丄net SN r C1 . CN r C2 . CM盍 H 口皿G 恥AS G2f 5C 疋5 5C1,5C A5 33 吕where 匚O=SC1,CUO ANDO^£O ANDCl.. CN=,程序设计'AND5C1,3WO=3C2,3NO AND一SCI,SNO=S.SMO< | nr S结果 __________________________________________________________ SN CN CN3、外连接查询所有学生的学号、姓名、选课名称及成绩(没有选课的学生的选课信息显示为空)use jxskselect S. SNO, SN, CN, SCOREfrom SLEFTOUTERJOIN SCONS. SNO=SC. SNOLEFTOUTERJOIN CONC. CNO=SC. CNOE] Tioe J K5 K se lec-t;3 , SNQ^ SN, CN, SCORE rrom s:LEFT Om/ER JOTN SCON S . SNO-5C. SNC]E«E PT OUTER cON C E CNO—S 匚・CNO打「i —23a5£7B3NO1?3J 5S789 _^SSSSSSSS5S CN SCORENULL NULL! NULL j NULLNULL NULLNULL NULLNULL NULLNULL NULLNULL NULLNULL NULLNULL NULLNULL NULL山明冲旳馬古亦尔晦西展丽胆珊海土越钱弛竽间呆范抄诜7.3嵌套查询1、返回一个值的子查询查询与刘伟”教师职称相同的教师号、姓名和职称。
use jxsk select TNO, TN, PROFfrom Twhere ( PROF=( select PROFfrom T where TN='文刘伟') )/ EQLQu色呼74^ql - ...TH!NK\Thirtk (53))"□ use jxsk select TUO,TW f PROF fTom Twhere [ PROS' = select- FROF frcit TL where TN =,刘伟1□结果]冷I消息I • -- - -------- 「——I JNO TN PROF1 「〒亍一〕如伟井师RBHiii imuiHmr2、返回一组值的子查询1) 使用ANY谓词查询讲授课程号为C5的教师姓名。
use jxsk select TNfrom Twhere (TNO=ANY(select TNOfrom TCwhere CNO='C5'))2) 使用IN谓词查询讲授课程号为C5的教师姓名use jxsk select TNfrom Twhere (TNOIN(select TNOfrom TCwhere CNO='c5'))□ ns* jxsk: select TNwii&re (TNO I?T select TMO frcnr. TC13)使用ALL谓词查询其他系中比计算机系所有教师工资都高的教师的姓名、工资和所在系use jxsk select TN, SAL, DEPTfrom T where ( SAL >ALL(select SAL from Twhere DEPT='计算机')AND(DEPT<>'计算机')£QLQueky78LH;l _TMINK\Think CS1))* 卫Q use jxak aelect TN,SAL( DEPT£xcn, Iwhcie (5AL>A1L(.select 5j^L fro in TDEFT^1计算机, J AND L 计算和)) 1Pll4)使E X I S T S C5在系use jxsk select TN, DEPTfrom Twhere (NOTEXISTS(select * from TCwhere TNO=T. TNOANDCNO='C5'))口吉电丄■&亡七"N, DEFTfrom T^elecc -from TC;L wriere I2Ic|=T . 7::? JLWD CWO= * C5 1))二I结果_ J消息DEPT1I W^-l信息23刘悟计罩机< 李办计筲机5) 使用NOT EXIST谓词查询至少选修了学生S2选修的全部课程的学生的学号。