Êý¾Ý¿âÔ­ÀíʵÑ鱨¸æ(4)×ÊÁÏ ÏÂÔØ±¾ÎÄ

(g)²éѯÊýѧÓëÐÅÏ¢¼¼ÊõѧԺ£¨DEPT_IDΪ07£©»òÎïÀíÓëµç×Ó¹¤³ÌѧԺ(DEPT_IDΪ09)ÐÕÕŵÄѧÉúµÄÐÅÏ¢¡£

select *from Student where DEPT_ID in ('07', '09') and S_Name like 'ÕÅ%'

(h)²éѯËùÓкËÐĿγ̣¨¿Î³ÌÃûÖдø*µÄ£©µÄÇé¿ö¡£

SELECT * FROM Course WHERE C_Name like '%*%'

(i)²éѯȱÉÙÁ˳ɼ¨µÄѧÉúµÄѧºÅºÍ¿Î³ÌºÅ£¬²éѯ½á¹û°´¿Î³ÌºÅÉýÐòÅÅÁС£ select S_ID,C_ID from SC where EXAM_Grade IS NULL

order by C_ID

¶þ¡¢¶þ¡¢ÔÚSQL Server²éѯ·ÖÎöÆ÷ÖУ¬ÓÃT-SQLÓï¾äʵÏÖÏÂÁÐÊý¾ÝÁª½Ó²éѯ²Ù×÷£º

(a)²éѯÿ¸öѧÉúµÄÇé¿öÒÔ¼°Ëû£¨Ëý£©ËùÑ¡Ð޵Ŀγ̡£ Select Student.S_ID, S_Name,Gender, Birth_Place,DEPT_ID, Class_ID, Course.C_name from Student join SC on Student.S_ID=SC.S_ID join Course on Course.C_ID=SC.C_ID

(b)²éѯѧÉúµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡Ð޵ĿγÌÃû¼°³É¼¨¡£

select Student.S_ID, S_Name,C_Name, EXAM_Grade

from Student inner join SC on Student.S_ID=SC.S_ID inner join Course on SC.C_ID=Course.C_ID

(c)²éѯѡÐÞCÓïÑÔ³ÌÐòÉè¼ÆÇҳɼ¨Îª85·ÖÒÔÉϵÄѧÉúѧºÅ¡¢ÐÕÃû¼°³É¼¨¡£

Select Student.S_ID,S_NAME,EXAM_Grade from Student,SC,Course

where Student.S_ID=SC.S_ID and Course.C_ID=SC.C_ID and C_Name='CÓïÑÔ³ÌÐòÉè ¼Æ' and EXAM_Grade>=85

(d)²éѯºÍѧÉú°ØÎÄéªÊÇͬһ¸öÃñ×åµÄѧÉú£¨ÓÃ×ÔÉíÁª½ÓʵÏÖ£©¡£

SELECT S_Name from Student

where Nationality=(select Nationality from Student where S_Name='°ØÎÄéª')

(e)·Ö±ðÓõÈÖµÁª½ÓºÍÄÚÁª½Ó²éѯÓÐÊڿμǼµÄÀÏʦµÄÐÕÃû¡£ 1. µÈÖµÁª½Ó

select DISTINCT T_Name from

Teacher inner join TC on Teacher.T_ID=TC.T_ID

2.ÄÚÁª½Ó

select DISTINCT T_Name from Teacher,TC where Teacher.T_ID=TC.T_ID

(f)ÓÃÍâÁª½Ó²éѯËùÓÐÀÏʦµÄÊÚ¿ÎÇé¿ö£¬Êä³öÀÏʦµÄ¹¤ºÅ¡¢ÐÕÃû¡¢Ö°³Æ¡¢ÔºÏµ¡¢µ£ÈεĿγ̺źÍÊڿεÄѧÆÚ£¬½á¹û°´ÔºÏµºÍÖ°³ÆÉýÐòÅÅÁС£Èç¹û¸ÃÀÏʦûÓÐÊÚ¿ÎÀúÊ·£¬Ôڿγ̺źÍÊڿεÄѧÆÚÖÐÏÔʾ¿ÕÖµ¡£

select Teacher.T_ID,Teacher.T_Name,Teacher.Academic_Title,Department. DEPT_Name,TC.C_ID,TC.Semester

from Teacher Right join TC on Teacher.T_ID=TC.T_ID join Department ON Department.DEPT_ID=Teacher.DEPT_ID

order by Department.DEPT_Name , Teacher.Academic_Title

4£®ÊµÑé˼¿¼£º

¢ÙÁª½Ó²éѯÖУ¬Êä³öÁÐÃûʱºÎʱ¿ÉÒÔºöÂÔÁÐÃûǰµÄ±íÃû£¬ºÎʱ²»ÄÜ£¿ ±íÃû.ÁÐÃû

ÈôÑ¡ÔñµÄ×Ö¶ÎÃûÔÚ¸÷¸ö±íÖÐÊÇΨһµÄ£¬Ôò¿ÉÒÔÊ¡ÂÔ×Ö¶ÎÃûǰµÄ±íÃû¡£ ¢ÚÁª½Ó²éѯÖУ¬INNER JOIN¡¢ LEFT OUTER JOIN ¡¢RIGHT OUTER JOIN¡¢ FULL OUTER JOIN µÄ½á¹û¸÷ÓÐʲô²»Í¬£¿

? INNER JOIN :

Inner join ²úÉúµÄ½á¹û¼¯ÖУ¬ÊÇAºÍBµÄ½»¼¯

SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name

? LEFT OUTER JOIN:

(1) Left outer join ²úÉú±íAµÄÍêÈ«¼¯£¬¶øB±íÖÐÆ¥ÅäµÄÔòÓÐÖµ£¬Ã»ÓÐÆ¥ÅäµÄÔòÒÔnullֵȡ´ú¡£