£¨7£©²éѯ¸÷¸öϵµÄѧÉúµÄ¡°Ìø¸ß¡±ÏîÄ¿±ÈÈüµÄƽ¾ù³É¼¨ (²»ÒªÇóÊä³ö±ÈÈüÏîÄ¿µÄ¼Æ·Öµ¥Î») ¡£
SELECT szx,AVG(cj) FROM Student, SS, Sports
WHERE Student.xh=SS.xh and SS.xmh=Sports.xmh AND xmm='Ìø¸ß' GROUP BY szx
£¨8£©Í³¼Æ¸÷¸öϵµÄ×ܳɼ¨Çé¿ö£¬²¢¸ù¾Ý×ܳɼ¨°´½µÐòÅÅÐò¡£
SELECT szx,sum(cj) FROM Student, SS, Sports
WHERE Student.xh=SS.xh and SS.xmh=Sports.xmh GROUP BY szx
Order by sum(cj) desc
£¨9£©½¨Á¢¡°¼ÆËã»ú¡±ÏµËùÓÐÄÐѧÉúµÄÐÅÏ¢ÊÓͼJSJ_M_Student¡£
CREATE VIEW JSJ_M_Student AS
SELECT * FROM Student
WHERE szxt='¼ÆËã»ú' AND xb='ÄÐ'
£¨10£©»ØÊÕÓû§¡°ÀîÃ÷¡±¶ÔSports±íµÄ²éѯȨÏÞ¡£
REVOKE SELECT ON TABLE Sports FROM ÀîÃ÷
28
×ÛºÏÁ·Ï°µÚ3Ì×
ÓÐÒ»¸ö¡°Ñ§ÉúÑ¡¿Î¡±Êý¾Ý¿â£¬Êý¾Ý¿âÖаüÀ¨Èý¸ö±í£¬Æä¹ØÏµÄ£Ê½·Ö±ðΪ£º Student(xh,xm,xb,nl,szx) Course(kch,kcm,xxk,xf) SG(xh,kch,cj)
ÆäÖУºStudentÊÇѧÉú±í£¬xh±íʾѧºÅ¡¢xm±íʾÐÕÃû¡¢sb±íʾÐÔ±ð¡¢nl±íʾÄêÁä¡¢szx±íʾËùÔÚϵ¡£xhΪÖ÷Âë¡£
CourseÊÇ¿Î³Ì±í£¬kch±íʾ¿Î³ÌºÅ¡¢kcm±íʾ¿Î³ÌÃû¡¢xxk±íʾÏÈÐ޿κš¢xf±íʾѧ·Ö¡£kchΪÖ÷Âë¡£ SGÊÇÑ¡¿Î±í£¬xh±íʾѧºÅ£¬²ÎÕÕѧÉú±íµÄѧºÅxh¡¢kch±íʾ¿Î³ÌºÅ£¬²ÎÕտγ̱íµÄ¿Î³ÌºÅkch¡¢cj±íʾ³É¼¨¡£(xh,kch)ΪÖ÷Âë¡£ ÇëÓÃSQLÓïÑÔʵÏÖÏÂÁй¦ÄÜ£º
1.½¨Á¢Ñ¡¿Î±íSG£¬ÒªÇóʵÏÖÖ÷¼üÔ¼ÊøºÍÍâ¼üÔ¼Êø£¬Çҳɼ¨²»ÄÜΪ¿Õ¡£ CREATE TABLE SG( Sno CHAR(5), Cno CHAR(3),
Ccredit tinyint not null, PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
CONSTRAINT C3 FOREIGN KEY (Cno) REFERENCES Course(Cno)) 2.²éѯѡÐ޿γ̵ijɼ¨Ð¡ÓÚ60·ÖµÄÈËÊý¡£ SELECT COUNT(DISTINCT Sno) FROM SG
WHERE Grade < 60
3.²éѯѡÐÞÁËC3ºÅ¿Î³ÌµÄѧÉúµÄѧºÅ¼°Æä³É¼¨£¬²éѯ½á¹û°´·ÖÊýµÄ½µÐòÅÅÁС£ÒªÇó²éѯ½á¹ûµÄ±êÌâÏÔʾΪºº×Ö¡£
SELECT Sno ѧºÅ,Grade ³É¼¨ FROM SG WHERE Cno='C3' ORDER BY Grade DESC
4.²éѯѡÐÞÁË¡°Êý¾Ý¿âÓ¦Ó᱿γÌÇҳɼ¨ÔÚ90·ÖÒÔÉϵÄѧÉúµÄÐÕÃûºÍËùÔÚϵ¡£ SELECT Sname,Sdept FROM Student,SG,Course
WHERE Student.Sno=SG.Sno and SG.Cno=Course.Cno and Cname='Êý¾Ý¿âÓ¦ÓÃ' AND Grade>=90 »ò
SELECT Sname,Sdept
FROM Student JOIN SG ON Student.Sno=SG.Sno JOIN Course ON SG.Cno=Course.Cno WHERE Cname='Êý¾Ý¿âÓ¦ÓÃ' AND Grade>=90
5.ÏòStudent±íÖвåÈëÒ»Ìõ¼Ç¼£¬Ñ§ºÅΪ¡°05020¡±£¬ÐÕÃûΪ¡°¶¡Àò¡±£¬ÐÔ±ðΪ¡°Å®¡±£¬ÄêÁäΪ¡°17¡±£¬ËùÔÚϵΪ¡°¼ÆËã»úϵ¡±¡£ INSERT INTO Student
29
VALUES ('05020', '¶¡Àò', 'Å®', 17, '¼ÆËã»úϵ') 6.½«¼ÆËã»úϵȫÌåѧÉúµÄ³É¼¨ÖÃÁã¡£ UPDATE SG SET Grade=0
WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept='¼ÆËã»úϵ')
7.´´½¨Ò»¸ö¡°Ñ§Éú³É¼¨¡±ÊÓͼ£¬°üÀ¨Ñ¡ÐÞÁ˿γ̵ÄѧÉúµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡Ð޿γ̵Ŀγ̺š¢¿Î³ÌÃûÒÔ¼°³É¼¨¡£
CREATE VIEW ѧÉú³É¼¨AS
SELECT Sno, Sname, Course.Cno, Cname, Grade FROM Student, SG, Student
Where Student.Sno=SG.Sno and Course.Cno=SG.Cno »ò
CREATE VIEW ѧÉú³É¼¨AS
SELECT Sno, Sname, Course.Cno, Cname, Grade FROM Student JOIN SG ON Student.Sno=SG.Sno JOIN Course ON Course.Cno=SG.Cno
8.ΪStudent±í½¨Á¢Ò»¸ö°´Ñ§ºÅÉýÐòÅÅÁеÄΨһË÷ÒýStusno_IDX¡£ CREATE UNIQUE INDEX Stusno_IDX ON Student(Sno) 9.Çó¸÷¿Î³ÌµÄÑ¡ÐÞÈËÊý¼°Æ½¾ù³É¼¨¡£ SELECT Cno,COUNT(Sno),AVG(Grage) FROM SG GROUP BY Cno
10.²éѯѡÐÞÁ˿γ̱àºÅΪ¡¯14001¡¯ºÍ¡¯14002¡¯¿Î³ÌµÄѧÉúµÄѧºÅºÍÐÕÃû¡£ SELECT Student.Sno,Sname FROM Student,SG
WHERE Student.Sno=SG.Sno AND Cno=¡¯14001¡¯ AND Sno IN(SELECT Sno FROM SG WHERE Cno=¡¯14002¡¯)
30
×ÛºÏÁ·Ï°µÚ4Ì×
Éè¡°Ö°¹¤_ÉçÍÅ¡±Êý¾Ý¿âÓÐ3¸ö»ù±¾±í£º
Ö°¹¤£ºzg (zgh£¬xm£¬nl£¬xb£¬gz) //Ö°¹¤ºÅ¡¢ÐÕÃû¡¢ÄêÁä¡¢ÐԱ𡢹¤×Ê Éç»áÍÅÌ壺shtt(bh£¬mc£¬fzr£¬dd)//±àºÅ¡¢Ãû³Æ¡¢¸ºÔðÈË¡¢µØµã ²Î¼Ó£ºcj(zgh£¬bh£¬rq)//Ö°¹¤ºÅ¡¢±àºÅ¡¢ÈÕÆÚ
1.¶¨Òå²Î¼Ó±í£¬ÔÚÓï¾äÖÐÒªÇó¶¨Òå±íÖеÄÖ÷ÂëºÍÍâÂëÔ¼Êø£»(˵Ã÷£º±íÖÐÊôÐÔµÄÀàÐ͸ù¾Ýʵ¼ÊÇé¿ö¶¨Òå¡£) create table cj( zgh char(8), bh char(8),
primary key(zgh,bh),
foreign key(zgh) references zg(zgh), foreign key(cno) references shtt(bh)) 2.²éѯÿ¸öÉç»áÍÅÌåµÄ²Î¼ÓÈËÊý Select count(*) From cj Group by bh
3.¼ìË÷ËùÓбȡ°Íõ»ª¡±ÄêÁä´óµÄÖ°¹¤µÄÐÕÃû¡¢ÄêÁäºÍÐÔ±ð Select xm,nl,xb From zg
Where nl>(select nl from zg where xm='Íõ»ª') 4.²éÕҲμÓÁ˸質¶Ó»òÀºÇò¶ÓµÄÖ°¹¤ºÅºÍÐÕÃû Select zg.zgh,xm From zg,shtt,cj
Where zg.zgh=cj.zgh and shtt.bh=cj.bh and mc in ('¸è³ª¶Ó','ÀºÇò¶Ó') 5.ûÓвμÓÈκÎÉç»áÍÅÌåµÄÖ°¹¤ÐÅÏ¢ Select * From zg
Where zgh not in (select distinct zgh from cj)
6. ½«ËùÓвμӱàºÅΪ¡°10001¡±µÄÉç»áÍÅÌåµÄÖ°¹¤µÄ¹¤×ÊÔö¼Ó10% Update zg Set gz=1.1*gz
Where zgh in (select zgh from cj where bh='10001') 7.²éѯÄêÁä×î´óµÄÖ°¹¤µÄÖ°¹¤ºÅºÍÐÕÃû Select zgh,xm From zg
Where nl=(select max(nl) from zg)
8. ²éѯ¸÷Éç»áÍÅÌåµÄ±àºÅÒÔ¼°Æä¸ºÔðÈ˵ÄÐÕÃû Select zgh,xm from zg,shtt
where zg.zgh=shtt.fzr
9. ɾ³ýÖ°¹¤ºÅΪ¡¯402¡¯µÄÖ°¹¤²Î¼ÓËùÓÐÉç»áÍÅÌåµÄ¼Ç¼
31
Ïà¹ØÍÆ¼ö£º