http://404278454.qzone.qq.com/

强力推荐:SQL 50句

上一篇 / 下一篇  2008-11-27 13:27:37 / 个人分类:数据库

Student(S#,Sname,Sage,Ssex) 学生表  51Testing软件测试网 iRs wGW
Course(C#,Cname,T#) 课程表  
1?#Cs!H;`2u/e*s0SC(S#,C#,score) 成绩表  
x&A!G2^f-E0Teacher(T#,Tname) 教师表  
;UO _xs)H\k5[y0问题:  51Testing软件测试网l&ga5P e_5n
1、查询“001”课程比“002”课程成绩高的所有学生的学号;  
$ws a/F7TQq0  select a.S# from (select s#,score from SC where C#='001') a,(select s#,score  51Testing软件测试网6|!f'rjW~#Q z
  from SC where C#='002') b  
'W{ a&U!o#V1\0  where a.score>b.score and a.s#=b.s#;  51Testing软件测试网J M'e$Z8h*m-A)nf
2、查询平均成绩大于60分的同学的学号和平均成绩;  51Testing软件测试网;z CJ;|c ? })N
    select S#,avg(score)  
dW$icx0    from sc  
7K+Np E a? s'T0    group by S# having avg(score) >60;  
wRaF8jC_{03、查询所有同学的学号、姓名、选课数、总成绩;  51Testing软件测试网R4[{ b;P!MU
  select Student.S#,Student.Sname,count(SC.C#),sum(score)  
A+l@'fd2?2A0  from Student left Outer join SC on Student.S#=SC.S#  
(ogbC]1Rx V.@7k0  group by Student.S#,Sname  
.U9b \)Z,o7~Q04、查询姓“李”的老师的个数;  
2J0[Q7A&Cnn0  select count(distinct(Tname))  
t&R oe+ykc,U-x0  from Teacher  
8j\7]fhH3r~&j0  where Tname like '李%';  51Testing软件测试网(e+J8]'{x
5、查询没学过“叶平”老师课的同学的学号、姓名;  51Testing软件测试网2VY*GjS.?
    select Student.S#,Student.Sname  
0J'm)p0D` `8_-qMK RUJ2f0    from Student  51Testing软件测试网'S_,yJ6Z%l S
    where S# not in (select distinct( SC.S#) from SC,Course,Teacher where  SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平');  
bO5]#Q ^5A7q06、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;  51Testing软件测试网J#r/na$VVm\
  select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002');  51Testing软件测试网V,M`bc
7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;  51Testing软件测试网dN&r M8z(Z o w
  select S#,Sname  51Testing软件测试网|4EN+gMp&^C
  from Student  51Testing软件测试网d!f)ld)B7@.i
  where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher  where Teacher.T#=Course.T# and Tname='叶平'));  51Testing软件测试网"Tb#M7z:rV
8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;  
n]z;pXsUD1S l0c0  Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2  51Testing软件测试网X LE kA+] S
  from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2 <score;  
iV6f ]-s09、查询所有课程成绩小于60分的同学的学号、姓名;  51Testing软件测试网0r6])UG,L N
  select S#,Sname  51Testing软件测试网Ww~o l,Z!D
  from Student  51Testing软件测试网7|1c$}_0G-D
  where S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60);  51Testing软件测试网9x9l [ W RpP?z
10、查询没有学全所有课的同学的学号、姓名;  51Testing软件测试网(\7bzsB1nN3xf
    select Student.S#,Student.Sname  51Testing软件测试网%p K!hR:?aT#]
    from Student,SC  51Testing软件测试网X\!cB3b+Z9? aO{%`
    where Student.S#=SC.S# group by  Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);  
j#T~Q0R(@8B011、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;  
:e!MF-DbN0i0    select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';  51Testing软件测试网0e$^1|\TD,wfG
12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;  51Testing软件测试网y9Ds`k(GO'V_f
    select distinct SC.S#,Sname  
%uK$~H7M/L ^ Hcoe0    from Student,SC  
0yWpB5o+d0    where Student.S#=SC.S# and C# in (select C# from SC where S#='001');  51Testing软件测试网I4qi:gj!ZJ bA#K
13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;  51Testing软件测试网:h&C_G`8](G!M
    update SC set score=(select avg(SC_2.score)  51Testing软件测试网5n;UDC3h
    from SC SC_2  
z0wD.X~@5a(W5?0    where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='叶平');  51Testing软件测试网ZMz+Og2P$s
14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;  
6LW)H7E.FFS9J:Y0    select S# from SC where C# in (select C# from SC where S#='1002')  
~fh0S5L0    group by S# having count(*)=(select count(*) from SC where S#='1002');  51Testing软件测试网"p'r"~Tgv1AU _
15、删除学习“叶平”老师课的SC表记录;  51Testing软件测试网 Z.t#B$HS:q,~
    Delect SC  
&y q!A4M@.A h|0    from course ,Teacher  51Testing软件测试网HK:r.oBu
    where Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='叶平';  
{2R}K _P}2p016、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、2、  
Zw;yT @0    号课的平均成绩;  51Testing软件测试网Nm r'u4r8J5wn:V
    Insert SC select S#,'002',(Select avg(score)  51Testing软件测试网/dav+wZ Jl
    from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002');  51Testing软件测试网5D5O yh+c"k `+?
17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分  
.P H?8S1w fv0    SELECT S# as 学生ID  
H%ke{6rKd0        ,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 数据库  
+gA1j0`;IQI XKe0        ,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='001') AS 企业管理  
nMRI4L2i ?B0        ,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='006') AS 英语  
S^{"N+v0        ,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩  51Testing软件测试网*]5\ZeC#dX
    FROM SC AS t  
`8EAMqW)E.A)x8q0    GROUP BY S#  51Testing软件测试网 h5\(\z?:~ h
    ORDER BY avg(t.score)  
ej9{fu+o+[w018、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分  
0QOBU#B}w&c2A0    SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分  
ZU.e6[!h X0    FROM SC L ,SC AS R  
;k!V#M'UC7P }7|0    WHERE L.C# = R.C# and  
/A7j J$I+`"k)`0        L.score = (SELECT MAX(IL.score)  
/lJ-H?P$k0                      FROM SC AS IL,Student AS IM  51Testing软件测试网/JTA"zrN
                      WHERE L.C# = IL.C# and IM.S#=IL.S#  
S B,B{/A^ i8?0                      GROUP BY IL.C#)  
tj&^#F*W%yz&Bub_0        AND  51Testing软件测试网M{7w~]1qDn5K
        R.Score = (SELECT MIN(IR.score)  51Testing软件测试网d;h(ak(V7dNBg-A
                      FROM SC AS IR  
*\E E8A!SP0                      WHERE R.C# = IR.C#  
8u,C$c\*vQ't7R0                  GROUP BY IR.C#  51Testing软件测试网3I]fGm
                    );  51Testing软件测试网8~({~;l/gt'J/w
19、按各科平均成绩从低到高和及格率的百分数从高到低顺序  
Y `#s7b$vm0    SELECT t.C# AS 课程号,max(course.Cname)AS 课程名,isnull(AVG(score),0) AS 平均成绩  51Testing软件测试网']Oy,M+O9z*q1QY&Q
        ,100 * SUM(CASE WHEN  isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分数  
6N:pn3h:\${GWk0    FROM SC T,Course  
.nMa6v!M C,X a0    where t.C#=course.C#  51Testing软件测试网yw@)ZB6]h
    GROUP BY t.C#  51Testing软件测试网V Y|7x3X tY
    ORDER BY 100 * SUM(CASE WHEN  isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DESC  51Testing软件测试网~#RR9k"BK"M6Fl
20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)  51Testing软件测试网bA-[8Ly7Q3p ]
    SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分  
HH}6rg4ey G0        ,100 * SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数  
1Kz3]$K2nX8t%l0        ,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分  
d} AK2K U;y6s;l|0        ,100 * SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数  
m AKL:@0F,[Fb0        ,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分  
:}H C O!GDL{$Mp0        ,100 * SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分数  
a4c aaNUM0        ,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分  51Testing软件测试网%FaMlmSX
        ,100 * SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 数据库及格百分数  51Testing软件测试网dzaXva@ Ib
  FROM SC  51Testing软件测试网h`s3w6z$J;@)k
21、查询不同老师所教不同课程平均分从高到低显示  
|*I;Kq NPh_ F0  SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(C.Cname) AS 课程名称,AVG(Score) AS 平均成绩  51Testing软件测试网[J3Q'R ^%lb&@7q T
    FROM SC AS T,Course AS C ,Teacher AS Z  51Testing软件测试网4^*IW-Hd)iS
    where T.C#=C.C# and C.T#=Z.T#  51Testing软件测试网Y1o\]Ozv0?G*j
  GROUP BY C.C#  
!S+z Jc v6B?R^n o3}0  ORDER BY AVG(Score) DESC  51Testing软件测试网y+Eow K2w,\"Lb
22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)  51Testing软件测试网'v5UK0ErGp
    [学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩  51Testing软件测试网z(C1Z8t5Jc1ju
    SELECT  DISTINCT top 3  51Testing软件测试网w6H#b#{ B Fy;_%Sz.Z
      SC.S# As 学生学号,  51Testing软件测试网7Y&r L:CiX
        Student.Sname AS 学生姓名 ,  
8zL'\'b(X{-C4[6T!?g0      T1.score AS 企业管理,  51Testing软件测试网Ew*lwgC&l\
      T2.score AS 马克思,  
T C`n*jy/T2?!Z*[#U0      T3.score AS UML,  51Testing软件测试网"e%C Y u-nD
      T4.score AS 数据库,  
l+f*o|B#Q y0      ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分  
D-rbQ:a0      FROM Student,SC  LEFT JOIN SC AS T1  
.~P8E6]xM|0                      ON SC.S# = T1.S# AND T1.C# = '001'  
i'E$T x/K2\)Q0            LEFT JOIN SC AS T2  51Testing软件测试网A Dk j{NI7xd
                      ON SC.S# = T2.S# AND T2.C# = '002'  51Testing软件测试网 i.vk#bh`
            LEFT JOIN SC AS T3  
%DU2AF)_N0                      ON SC.S# = T3.S# AND T3.C# = '003'  51Testing软件测试网-k*W^9^5C zk.@
            LEFT JOIN SC AS T4  
)DH;m\r`"D!Pjk#{4F0                      ON SC.S# = T4.S# AND T4.C# = '004'  51Testing软件测试网-G#K:EL [/z+m0it
      WHERE student.S#=SC.S# and  51Testing软件测试网#m'izR/p9c qv
      ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)  
w3BI2@ h4^)Osl0      NOT IN  51Testing软件测试网9Jv0h&Qc'N P9ju
      (SELECT  51Testing软件测试网!njT5N&X`5p
            DISTINCT  
f"i}Lh{(nVzrl0            TOP 15 WITH TIES  51Testing软件测试网!MBH+X)Q%Cv
            ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)  51Testing软件测试网#xN!cS&]u {"n
      FROM sc  
-R/?Q\6w0            LEFT JOIN sc AS T1  
6u7Hv|7c]J;^7R0                      ON sc.S# = T1.S# AND T1.C# = 'k1'  
O)mn U8E!Xv]0            LEFT JOIN sc AS T2  
n1G0^h,A5Y]:F x0                      ON sc.S# = T2.S# AND T2.C# = 'k2'  
2z"MtX`'\0            LEFT JOIN sc AS T3  51Testing软件测试网,@a1l4p2J_Fl N
                      ON sc.S# = T3.S# AND T3.C# = 'k3'  
N;YJ.q ^Kl0            LEFT JOIN sc AS T4  
/v)Y-V:t4x0                      ON sc.S# = T4.S# AND T4.C# = 'k4'  51Testing软件测试网(\7]'~3Xb5tJ`z
      ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC);  
2sj.s;E[G d023、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]  51Testing软件测试网[*]-a$].Qi`
    SELECT SC.C# as 课程ID, Cname as 课程名称  51Testing软件测试网.w;qB^3O,` N Qw
        ,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85]  
)C*@]&EVNk J ~0        ,SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70]  
kI*p1m9G5_&xWf0        ,SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60]  51Testing软件测试网/M1U!W \ Ry
        ,SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -]  
Y.tqJ Fx0    FROM SC,Course  51Testing软件测试网1d2]J-y0X$Z
    where SC.C#=Course.C#  
*@ HK(W Y$^M)O0    GROUP BY SC.C#,Cname;  51Testing软件测试网/TC*p LO!bn
24、查询学生平均成绩及其名次  51Testing软件测试网;mr~-~EP
      SELECT 1+(SELECT COUNT( distinct 平均成绩)  51Testing软件测试网8^$A&Y BZ
              FROM (SELECT S#,AVG(score) AS 平均成绩  
"X7B)se8[d*j0                      FROM SC  
!{5Z;R.D ~ oq"J0                  GROUP BY S#  51Testing软件测试网@$zN*}-t)p R&|J*Y
                  ) AS T1  
fb;N]%o~W0            WHERE 平均成绩 > T2.平均成绩) as 名次,  
:Lb6HMjj6u2Yx0      S# as 学生学号,平均成绩  51Testing软件测试网)aP-qL XOm-{
    FROM (SELECT S#,AVG(score) 平均成绩  
8Wh4~{"S0            FROM SC  
7w+[o8G N)`F0        GROUP BY S#  51Testing软件测试网h$FOtx0r
        ) AS T2  
C/q3vkuM BX$Q*j0    ORDER BY 平均成绩 desc;  51Testing软件测试网 DNRC,Iqq4hF'T
  51Testing软件测试网aXxNF
25、查询各科成绩前三名的记录:(不考虑成绩并列情况)  51Testing软件测试网,Y#a@]+c%_!s&r?m-I4U
      SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数  
H$X+z [:l*[9OH0      FROM SC t1  
o%}x,{zW2}Q0      WHERE score IN (SELECT TOP 3 score  
*S:CmOF5Vy0              FROM SC  
p0WLG7]0              WHERE t1.C#= C#  
.Q#N!C!jj^.i0            ORDER BY score DESC  
2QZ(E9NxJ0              )  51Testing软件测试网a^;G;Y z!}i
      ORDER BY t1.C#;  
}LH ~D1G&s026、查询每门课程被选修的学生数  
5e2aL(BB FV:~/j}+`0  select c#,count(S#) from sc group by C#;  
A~/Oh3i2wH027、查询出只选修了一门课程的全部学生的学号和姓名  51Testing软件测试网N"TL5p3V+gJM bVt
  select SC.S#,Student.Sname,count(C#) AS 选课数  51Testing软件测试网$q6b(CUT
  from SC ,Student  51Testing软件测试网A*E\"e*f6A~
  where SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=1;  51Testing软件测试网 {PI`8V[E
28、查询男生、女生人数  51Testing软件测试网c+i/|\,n_\K
    Select count(Ssex) as 男生人数 from Student group by Ssex having Ssex='男';  
7o?;l#G};meY,C Z0    Select count(Ssex) as 女生人数 from Student group by Ssex having Ssex='女';  
8Yt%LV.j bl&g029、查询姓“张”的学生名单  51Testing软件测试网_:K7d ?Pmz0y
    SELECT Sname FROM Student WHERE Sname like '张%';  51Testing软件测试网T(UTJG%J8i
30、查询同名同性学生名单,并统计同名人数  
3urtU'D)}0  select Sname,count(*) from Student group by Sname having  count(*)>1;;  51Testing软件测试网2Q5v/iD$v
31、1981年出生的学生名单(注:Student表中Sage列的类型是datetime)  51Testing软件测试网-U!?7{(i,Z.F_dJ\-v\
    select Sname,  CONVERT(char (11),DATEPART(year,Sage)) as age  
W?R7h@Ig0    from student  51Testing软件测试网 Tya `Dvb
    where  CONVERT(char(11),DATEPART(year,Sage))='1981';  51Testing软件测试网L&dC0T K2IKA
32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列  51Testing软件测试网%O,\]4_#hx4jo
    Select C#,Avg(score) from SC group by C# order by Avg(score),C# DESC ;  
M.kH7zLIm033、查询平均成绩大于85的所有学生的学号、姓名和平均成绩  51Testing软件测试网:tJ5R]-fd,V)L5U
    select Sname,SC.S# ,avg(score)  
Vd)u+Ol/k0X0    from Student,SC  
KD!@wOZ z p0    where Student.S#=SC.S# group by SC.S#,Sname having    avg(score)>85;  
4c1bN5L5S1O s034、查询课程名称为“数据库”,且分数低于60的学生姓名和分数  
1k8J2FY0Xd$x0    Select Sname,isnull(score,0)  
$w? w6@ x'^ `r!e9w}0    from Student,SC,Course  51Testing软件测试网/ENtA?N)qw/T
    where SC.S#=Student.S# and SC.C#=Course.C# and  Course.Cname='数据库'and score <60;  
2e@+px!as(?8j035、查询所有学生的选课情况;  51Testing软件测试网q,G5tcOgy:w"LkR
    SELECT SC.S#,SC.C#,Sname,Cname  
8a-AwjrcJTa0    FROM SC,Student,Course  
U @D4p3KTYyT0    where SC.S#=Student.S# and SC.C#=Course.C# ;  
#l O;n3JCF%W:d2f036、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;  
0fs|B p0    SELECT  distinct student.S#,student.Sname,SC.C#,SC.score  51Testing软件测试网(_QED.J\5BS$y
    FROM student,Sc  
I(w0Z!|3F.EI%M0    WHERE SC.score>=70 AND SC.S#=student.S#;  51Testing软件测试网` C+bqk.y
37、查询不及格的课程,并按课程号从大到小排列  
F@,KOH r q5m h0    select c# from sc where scor e <60 order by C# ;  
1U1Rst1Y8G/{ F?038、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;  
&IKD9a _x7W0    select SC.S#,Student.Sname from SC,Student where SC.S#=Student.S# and Score>80 and C#='003';  51Testing软件测试网h6|#m.Qv+XC6x
39、求选了课程的学生人数  51Testing软件测试网,b8B a-N1EY+H
    select count(*) from sc;  51Testing软件测试网\5X~rS }7V
40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩  51Testing软件测试网1m2X7VS'o G#~[
    select Student.Sname,score  51Testing软件测试网5Y#~6d L X2OnJf+}
    from Student,SC,Course C,Teacher  
3Y"^Y!| H C+e0    where Student.S#=SC.S# and SC.C#=C.C# and C.T#=Teacher.T# and Teacher.Tname='叶平' and SC.score=(select max(score)from SC where C#=C.C# );  51Testing软件测试网 P5W"{8bN0v9i@
41、查询各个课程及相应的选修人数  
8]!Z1x^0IG5p)D0    select count(*) from sc group by C#;  51Testing软件测试网E"`&A!VS,c-a)Z*j Q
42、查询不同课程成绩相同的学生的学号、课程号、学生成绩  51Testing软件测试网){ fID9i6g q"P
  select distinct  A.S#,B.score from SC A  ,SC B where A.Score=B.Score and A.C# <>B.C# ;  
mj`pontQ043、查询每门功成绩最好的前两名  
\1nGG%i'H+P!K$C0    SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数  
2R~i7`8sT$pS0      FROM SC t1  
D-z$|9e0QE^0      WHERE score IN (SELECT TOP 2 score  
Q}Z5^S J0              FROM SC  
!XZ0^#nn"R(f0              WHERE t1.C#= C#  51Testing软件测试网VD_3@:RZ
            ORDER BY score DESC  51Testing软件测试网7` D\ P&Q9h(\%y
              )  
b'}D7Ano k0      ORDER BY t1.C#;  51Testing软件测试网m d'gR%jS
44、统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,查询结果按人数降序排列,若人数相同,按课程号升序排列  
/PX~%p9du2_0    select  C# as 课程号,count(*) as 人数  51Testing软件测试网2e @/y+FV#Q7Aa:`9r&^
    from  sc  
r bN0kBJKA0    group  by  C#  
)z _{*RC7x|0s!?0    order  by  count(*) desc,c#  
b o%BDP/Aq[045、检索至少选修两门课程的学生学号  
`pmL~^0    select  S#  
%F m9D-^n3w"y0    from  sc  51Testing软件测试网3D J"fV+An.XETU^0K
    group  by  s#  51Testing软件测试网"E;`ZY;`yY;S lZ u)VI
    having  count(*)  >  =  2  
*}2i O,r4jn046、查询全部学生都选修的课程的课程号和课程名  
i;u;B3^0T0    select  C#,Cname  51Testing软件测试网 q*_D%J@
    from  Course  
W NBO)dZ*{(XF7g0    where  C#  in  (select  c#  from  sc group  by  c#)  51Testing软件测试网7t(e A"z"n2zbu$O b
47、查询没学过“叶平”老师讲授的任一门课程的学生姓名  51Testing软件测试网nr.m%V/uqG"^
    select Sname from Student where S# not in (select S# from Course,Teacher,SC where Course.T#=Teacher.T# and SC.C#=course.C# and Tname='叶平');  51Testing软件测试网AP3J#i O0mI
48、查询两门以上不及格课程的同学的学号及其平均成绩  51Testing软件测试网*kF3[N6|Et
    select S#,avg(isnull(score,0)) from SC where S# in (select S# from SC where score <60 group by S# having count(*)>2)group by S#;  51Testing软件测试网1fX~\/?rk
49、检索“004”课程分数小于60,按分数降序排列的同学学号  51Testing软件测试网4L5D4Ek-UWijk%B
    select S# from SC where C#='004'and score <60 order by score desc;  
!OB bTh8Z7s$a}050、删除“002”同学的“001”课程的成绩  
(qEc6mM,VY0delete from Sc where S#='001'and C#='001';  51Testing软件测试网1^_.U\H!RVR0E

TAG: sql 数据库

神龙宫 引用 删除 longaotian731   /   2009-11-02 18:23:44
谢谢
 

评分:0

我来说两句

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9658
  • 日志数: 12
  • 建立时间: 2008-11-27
  • 更新时间: 2009-08-21

RSS订阅

Open Toolbar