Î÷¹¤´óÊý¾Ý¿âʵÑ鱨¸æ ÏÂÔØ±¾ÎÄ

from spj except

select distinct jno from spj

where spj.sno in ( )

select distinct sno from s

where s.city='Ìì½ò'

5.²éѯÕâÑùµÄ¹¤³Ì£º¹©¸ø¸Ã¹¤³ÌµÄÁã¼þP1µÄƽ¾ù¹©Ó¦Á¿´óÓÚ¹©¸ø¹¤³ÌJ1µÄÈκÎÒ»ÖÖÁã¼þµÄ×î´ó¹©Ó¦Á¿¡£

select jno from spj where pno='p1' group by jno having avg(qty)>

(select max(qty) from spj

where spj.jno='j1')

6£® Õë¶ÔʵÑéÒ»´´½¨µÄStudentÊý¾Ý¿â½øÐÐÏÂÃæµÄÊý¾Ý²éѯ(10·Ö£¬Ã¿Ð¡Ìâ5·Ö)

(1) Çó²»Ñ¡ÐÞCÓïÑԿγ̵ÄѧÉúѧºÅ¡£

select sno from s except select sno from sc where cno=

(select cno from c

where cname='cÓïÑÔ')

(2) ÇóÕâÑùµÄѧÉúÐÕÃû£º¸ÃѧÉúÑ¡ÐÞÁËÈ«²¿¿Î³Ì²¢ÇÒÆäÖÐÒ»ÃÅ¿ÎÔÚ90·ÖÒÔÉÏ¡£

17

select sname from s where sno in (select sno from sc where sno in (

select sno from s

where not exists (select * from c

where not exists (select * from sc

where sno=s.sno and cno=c.cno)

)

)

group by sno

having max(grade)>90 )

4. ʵÑé3:ÊÓͼ²Ù×÷ºÍ°²È«ÐÔ¿ØÖÆ

4.1. Ä¿µÄºÍÒªÇó

1£® ÕÆÎÕʹÓÃͼÐÎÓû§½çÃæºÍSQLÓïÑÔ´´½¨£¬²Ù×÷ºÍɾ³ýÊÓͼµÄ·½·¨¡£

2£® ÕÆÎÕSQL ServerÖеݲȫÐÔÏà¹ØµÄµÇ¼Ãû£¬½ÇÉ«ÒÔ¼°Óû§µÄ´´½¨ÒÔ¼°Ê¹Ó÷½·¨¡£3£® ѧ»áʹÓÃT-SQLÓï¾ä¶ÔÊý¾Ý¿âºÍ±í²Ù×÷µÄÁé»î¿ØÖƹ¦ÄÜ¡£

4.2. ʵÑé×¼±¸

1£® Á˽âÓëÊÓͼÏà¹ØµÄ¸÷ÖÖSQLÓï¾ä¡£

18

2£® Á˽âµÇ¼Ãû£¬½ÇÉ«ÒÔ¼°Óû§µÄ´´½¨ÒÔ¼°Ê¹Ó÷½·¨¡£

3£® Á˽âT-SQLÓï¾äÔÚ¶ÔÊý¾Ý¿âºÍ±íµÄ¿ØÖÆÈ¨ÏÞÏà¹ØÃüÁî(GRANT/REVOKE)µÄÓ÷¨¡£

4.3. ʵÑéÄÚÈÝ

1£® ÔÚStudentÊý¾Ý¿âÖУ¬ÀûÓÃͼÐÎÓû§½çÃæ£¬´´½¨Ò»¸öÑ¡ÐÞÁËÊý¾Ý¿â¿Î³Ì²¢ÇÒÊÇ1986Äê

³öÉúµÄѧÉúµÄÊÓͼ£¬ÊÓͼÖаüÀ¨Ñ§ºÅ£¬ÐԱ𣬳ɼ¨ÕâÈý¸öÐÅÏ¢¡£(5·Ö)

²Ù×÷¹¤³Ì£ºÓÒ»÷¡°ÊÓͼ¡±£¬½«Ïà¹ØµÄ±íÌí¼Ó½øÈ¥£¬È»ºóÖ¸¶¨ÊÓͼËùÒÀ¸½µÄ±í¼äµÄÁ¬½Ó¹ØÏµ£¬×îºóÖ¸³öÊÓͼµÄÊä³ö£¨¼´ÊÓͼµÄ¸÷¸öÊôÐÔÁУ©£¬²Ù×÷½çÃæÈçÏÂͼËùʾ£º

2£® ÓÃÁ½ÖÖ²»Í¬µÄSQLÓï¾ä´´½¨¿Î±¾128Ò³µÚ11ÌâÖÐÒªÇóµÄÊÓͼ£¨ÊÓͼÃû£ºV_SPJ£©£¨6·Ö£¬

ÿÖÖ·½·¨3·Ö)¡£

·½·¨Ò»£ºcreate view V_SP as

select sno,pno,qty from spj

where spj.jno in as

(select jno from j

where j.jname='Èý½¨')

·½·¨¶þ£ºcreate view V_SPJ

19

select sno,pno,qty from spj,j

where j.jno=spj.jno and

j.jname='Èý½¨'

3£® ÓÃSQLÓï¾äÍê³É¿Î±¾128Ò³µÚ11ÌâÖжÔÊÓͼV_SPJµÄ²éѯ£¨4·Ö£¬Ã¿Ð¡Ìâ2·Ö)¡£

Óï¾ä£ºselect pno,sum(qty) ×ÜÁ¿ from V_SPJ group by pno ÔËÐнçÃæ£º

Óï¾ä£º

select * from V_SPJ where sno='s1' ÔËÐнçÃæ£º

4£® ÓÃT-SQLÓï¾ä²Ù×÷ÊÓͼµÄÊý¾Ý¡£(15·Ö£¬Ã¿Ìâ5·Ö)

£¨1£© ¸øÊÓͼV_SPJÖÐÔö¼ÓÒ»ÌõÊý¾Ý(»ù±¾±íÖÐÓвåÈëµÄÊý¾Ý¼´¿É)¡£

insert into V_SPJ

values('s5','j3',900)

˵Ã÷£º±ØÐ뽫Ö÷¼üÔ¼ÊøÈ¥µô²¢ÇÒÔÊÐíΪ¿ÕÖµÒÔºó²Å¿É²åÈë

£¨2£© ÐÞ¸ÄÊÓͼV_SPJÖеÄÈÎÒâÒ»ÌõÊý¾ÝµÄ¹©Ó¦ÊýÁ¿¡£

update V_SPJ set qty=111

20