´ð£ºselect s.sno,sname,cno,grade from student s
left join sc on s.sno = sc.sno
16. ²éѯÄÄЩ¿Î³ÌûÓÐÈËÑ¡£¬ÒªÇóÁгö¿Î³ÌºÅºÍ¿Î³ÌÃû¡£
´ð£ºselect c.cno,cname from course c left join sc on c.cno = sc.cno
where sc.cno is null
17£®²éѯ¼ÆËã»úϵûÓÐÑ¡¿ÎµÄѧÉú£¬ÁгöѧÉúÐÕÃû¡£
´ð£ºselect sname from student s left join sc on s.sno = sc.sno Where sdept = '¼ÆËã»úϵ' and sc.sno is null
18. Áгö¡°Êý¾Ý¿â»ù´¡¡±¿Î³Ì¿¼ÊԳɼ¨Ç°ÈýÃûµÄѧÉúµÄѧºÅ¡¢ÐÕÃû¡¢ËùÔÚϵºÍ¿¼ÊԳɼ¨¡£ ´ð£ºselect top 3 s.sno, sname, sdept, grade from Student s join SC on s.Sno = SC.Sno join Course c on c.Cno = SC.Cno where cname = 'Êý¾Ý¿â»ù´¡' order by grade desc
19£®²éѯVB¿¼ÊԳɼ¨×îµÍµÄѧÉúµÄÐÕÃû¡¢ËùÔÚϵºÍVB³É¼¨¡£
´ð£ºselect top 1 with ties sname,sdept,grade from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno where cname = 'VB' order by grade asc
¡¤13¡¤ 20. ²éѯÓп¼ÊԳɼ¨µÄËùÓÐѧÉúµÄÐÕÃû¡¢ÐÞ¿ÎÃû³Æ¼°¿¼ÊԳɼ¨£¬ÒªÇ󽫲éѯ½á¹û·ÅÔÚÒ»ÕÅеÄÓÀ¾Ã±íÖУ¬¼ÙÉèбí
ÃûΪnew_sc¡£
´ð£ºselect sname, cname, grade into new_sc from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno where grade is not null
21. ·Ö±ð²éѯÐÅÏ¢¹ÜÀíϵºÍ¼ÆËã»úϵµÄѧÉúµÄÐÕÃû¡¢ÐÔ±ð¡¢ÐÞ¿ÎÃû³Æ¡¢Ð޿γɼ¨£¬²¢ÒªÇó½«ÕâÁ½¸ö²éѯ½á¹ûºÏ²¢³É
Ò»¸ö½á¹û¼¯£¬²¢ÒÔϵÃû¡¢ÐÕÃû¡¢ÐÔ±ð¡¢ÐÞ¿ÎÃû³Æ¡¢Ð޿γɼ¨µÄ˳ÐòÏÔʾ¸÷ÁС£
´ð£ºselect sdept ϵÃû, sname ÐÕÃû, ssex ÐÔ±ð, cname ÐÞ¿ÎÃû³Æ, grade Ð޿γɼ¨ from student s join sc on s.sno=sc.sno join course c on c.cno=sc.cno where sdept = 'ÐÅÏ¢¹ÜÀíϵ'
UNION
select sdept , sname, ssex, cname, grade from student s join sc on s.sno=sc.sno join course c on c.cno=sc.cno where sdept = '¼ÆËã»úϵ'
22£®²éѯѡÁËVBµÄѧÉúѧºÅ¡¢ÐÕÃû¡¢ËùÔÚϵºÍ³É¼¨£¬²¢¶ÔËùÔÚϵ½øÐÐÈçÏ´¦Àí£º
13
¡¤14¡¤ µ±ËùÔÚϵΪ¡°¼ÆËã»úϵ¡±Ê±£¬ÏÔʾ¡°CS¡±£» µ±ËùÔÚϵΪ¡°ÐÅÏ¢¹ÜÀíϵ¡±Ê±£¬ÏÔʾ¡°IS¡±£» µ±ËùÔÚϵΪ¡°Í¨Ðʤ³Ìϵ¡±Ê±£¬ÏÔʾ¡°CO¡±£»
¶ÔÆäËûϵ£¬¾ùÏÔʾ¡°OTHER¡±¡£
´ð£ºselect s.sno ѧºÅ,sname ÐÕÃû, case sdept when '¼ÆËã»úϵ' then 'CS' when 'ÐÅϢϵ' then 'IS' when 'Êýѧϵ' then 'CO' else 'OTHER'
end as ËùÔÚϵ,grade ³É¼¨
from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno where cname = 'vb'
23. ÓÃ×Ó²éѯʵÏÖÈçϲéѯ:
£¨1£©²éѯѡÁË¡°C001¡±¿Î³ÌµÄѧÉúÐÕÃûºÍËùÔÚϵ¡£
´ð£ºselect sname,sdept from student where sno in( select sno from sc where cno = ' C001')
£¨2£©²éѯͨÐŹ¤³Ìϵ³É¼¨80·ÖÒÔÉϵÄѧÉúѧºÅºÍÐÕÃû¡£ ´ð£ºselect sno,sname from student where sno in( select sno from sc where grade > 80) and sdept = 'ͨÐŹ¤³Ìϵ'
£¨3£©²éѯ¼ÆËã»úϵ¿¼ÊԳɼ¨×î¸ßµÄѧÉúÐÕÃû¡£
´ð£ºselect sname from student s join sc on s.sno = sc.sno where sdept = '¼ÆËã»úϵ' and grade = (
select max(grade) from sc join student s on s.sno = sc.sno where sdept = '¼ÆËã»úϵ')
£¨4£©²éѯÄêÁä×î´óµÄÄÐÉúµÄÐÕÃûºÍÄêÁä¡£ ´ð£ºselect sname,sage from student
Where sage = (select max(sage) from student and ssex = 'ÄÐ') and ssex = 'ÄÐ'
£¨5£©²éѯ¡°C001¡±¿Î³ÌµÄ¿¼ÊԳɼ¨¸ßÓÚ¡°C001¡±¿Î³ÌµÄƽ¾ù³É¼¨µÄѧÉúµÄѧºÅºÍ¡°C001¡±¿Î³Ì³É¼¨¡£ ´ð£ºselect sno,grade from sc where cno = ' C001'
And grade > (select avg(grade) from sc where cno = ' C001')
24. ´´½¨Ò»¸öÐÂ±í£¬±íÃûΪtest_t£¬Æä½á¹¹Îª£º£¨COL1, COL 2, COL 3£©£¬ÆäÖУº
COL1£ºÕûÐÍ£¬ÔÊÐí¿ÕÖµ¡£
COL2£º×Ö·ûÐÍ£¬³¤¶ÈΪ10 £¬²»ÔÊÐí¿ÕÖµ¡£ COL3£º×Ö·ûÐÍ£¬³¤¶ÈΪ10 £¬ÔÊÐí¿ÕÖµ¡£
ÊÔд³ö°´ÐвåÈëÈçÏÂÊý¾ÝµÄÓï¾ä£¨¿Õ°×´¦±íʾ¿ÕÖµ£©¡£
14
COL1 1 2 COL1 int,
COL2 char(10) not null, COL3 char(10) )
insert into test_t values(NULL, 'B1', NULL) insert into test_t values(1, 'B2', 'C2') insert into test_t(COL1, COL2) values(2, 'B3')
25. ½« ¡°C001¡±¿Î³ÌµÄ¿¼ÊԳɼ¨¼Ó10·Ö¡£
´ð£ºupdate sc set grade = grade + 10 where cno = 'C001'
B1 B2 B3 COL2 C2 COL3 ¡¤15¡¤ ´ð£ºcreate table test_t (
26. ½«¼ÆËã»úϵËùÓÐÑ¡ÐÞÁË¡°¼ÆËã»úÎÄ»¯Ñ§¡±¿Î³ÌµÄѧÉú³É¼¨¼Ó10·Ö£¬·Ö±ðÓÃ×Ó²éѯºÍ¶à±íÁ¬½ÓÐÎʽʵÏÖ¡£ ´ð£º£¨1£©×Ó²éѯ
update sc set grade = grade + 10 where sno in(
select sno from student where sdept = '¼ÆËã»úϵ') and cno in(
select cno from course where cname = '¼ÆËã»úÎÄ»¯Ñ§')
£¨2£©¶à±íÁ¬½Ó
update sc set grade = grade + 10
from sc join student s on sc.sno = s.sno join course c on c.cno = sc.cno
where sdept = '¼ÆËã»úϵ' and canem = '¼ÆËã»úÎÄ»¯Ñ§'
27. ɾ³ýÐ޿γɼ¨Ð¡ÓÚ50·ÖµÄѧÉúµÄÑ¡¿Î¼Ç¼¡£ ´ð£ºdelete from sc where grade < 50
28. ɾ³ýÐÅÏ¢¹ÜÀíϵ¿¼ÊԳɼ¨Ð¡ÓÚ50·ÖµÄѧÉúµÄ¸ÃÃſγ̵ÄÐ޿μͼ£¬·Ö±ðÓÃ×Ó²éѯºÍ¶à±íÁ¬½ÓÐÎʽʵÏÖ¡£ ´ð£º£¨1£© ÓÃÁ¬½Ó²éѯʵÏÖ
delete from sc from sc join student s on s.sno=sc.sno where sdept = 'ÐÅÏ¢¹ÜÀíϵ' and grade < 50 £¨2£©ÓÃ×Ó²éѯʵÏÖ
delete from sc where sno in (
select sno from student where sdept = 'ÐÅÏ¢¹ÜÀíϵ' ) and grade < 50
29£®É¾³ýVB¿¼ÊԳɼ¨×îµÍµÄѧÉúµÄVBÐ޿μǼ¡£ ´ð£ºdelete from sc
15
¡¤16¡¤ where grade = (
select min(grade) from sc
join course c on c.cno = sc.cno where cname = 'vb') and cno in(
select cno from course where cname = 'vb')
16