ÉϺ£´óѧÊý¾Ý¿âÉÏ»ú×÷ÒµÉÏ»úÁ·Ï°4×÷Òµ

·¢²¼Ê±¼ä : ÐÇÆÚÈý ÎÄÕÂÉϺ£´óѧÊý¾Ý¿âÉÏ»ú×÷ÒµÉÏ»úÁ·Ï°4×÷Òµ¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

ÉÏ´óѧÊý¾Ý¿âÉÏ»ú×÷Òµ

¡¶Êý¾Ý¿âϵͳÓëÓ¦Óá·ÉÏ»úÏ°Ìâ*************************************************************************************************

µÚËIJ¿·Ö¡¢SQL²éѯ©¥©¥Ç¶Ì׺Í×éºÏͳ¼Æ²éѯ

ÒªÇóÕÆÎÕ£ºÀûÓÃSQL²éѯÓïÑÔ±í´ïǶÌײéѯÓï¾äÒÔ¼°Êý¾Ý²éѯÖеÄͳ¼Æ¼ÆËãºÍ×éºÏ²Ù×÷¡£

Ò»¡¢×öÊéÉϵھÅÕÂÓàϵÄÀýÌ⣬²¢Íê³ÉÊéÉÏÁ·Ï°Ìâ9ÖеÚ11¡¢12¡¢13¡¢14Ìâ

11.ifexists(SELECT*FROMsys.objectsWHEREname=student) 12.

¶þ¡¢ÀûÓÃͼÊé_¶ÁÕßÊý¾Ý¿â

1. Çó»úе¹¤Òµ³ö°æÉç³ö°æµÄ¸÷ÀàͼÊéµÄƽ¾ù¼Û¡£

USEͼÊé¶ÁÕß

SELECTÀà±ð,AVG(¶¨¼Û)ASƽ¾ù¼Û FROMͼÊé

WHERE³ö°æÉç='»úе¹¤Òµ³ö°æÉç' GROUPBYÀà±ð

2. Çó¸÷ÀàͼÊéµÄ×î¸ß¼Û¡¢×îµÍ¼Û¡¢Í¼ÊéµÄÊýÁ¿¡£

USEͼÊé¶ÁÕß

SELECTÀà±ð,MAX(¶¨¼Û)AS×î¸ß¼Û,MIN(¶¨¼Û)AS×îµÍ¼Û,COUNT(*)ASÊýÁ¿ FROMͼÊé

GROUPBYÀà±ð

3. ²éÕÒͼÊéÀà±ð£¬ÒªÇóÀà±ðÖÐ×î¸ßµÄͼÊ鶨¼Û²»µÍÓÚÈ«²¿°´Àà±ð·Ö×éµÄͼÊéƽ¾ù¶¨¼ÛµÄ1.5±¶¡£

USEͼÊé¶ÁÕß SELECTÀà±ð FROMͼÊé

WHERE¶¨¼Û=ALL (SELECTMAX(¶¨¼Û) FROMͼÊé

WHERE¶¨¼Û<=ALL

(SELECTAVG(¶¨¼Û)*1.5 FROMͼÊé))

4.¼ÆËã»úÀàºÍ»úе¹¤Òµ³ö°æÉç³ö°æµÄͼÊé¡£

USEͼÊé¶ÁÕß SELECT* FROMͼÊé

WHERE³ö°æÉç='»úе¹¤Òµ³ö°æÉç'ANDÀà±ð='¼ÆËã»ú'

5.²éѯËùÓжÁÕß½èÔĹýµÄÊ飬ҪÇó°´¶ÁÕßÐÕÃû¡¢ÊéÃûÀ´ÅÅÐò¡£

USEͼÊé¶ÁÕß

SELECT¶ÁÕß.±àºÅ,½èÔÄ.¶ÁÕß±àºÅ,ÐÕÃû,ÊéÃû FROMͼÊé,¶ÁÕß,½èÔÄ

WHERE¶ÁÕß.±àºÅ=½èÔÄ.¶ÁÕß±àºÅAND½èÔÄ.ÊéºÅ=ͼÊé.ÊéºÅ ORDERBYÐÕÃû

6. ²éѯËùÓÐÔÚ2008.11.15ÈÕÒÔºó±»½èÔĹýµÄͼÊéÃû¼°½èÔÄÕß¡£

USEͼÊé¶ÁÕß

SELECT¶ÁÕß.±àºÅ,½èÔÄ.¶ÁÕß±àºÅ,ÊéÃû,ÐÕÃû,½èÔÄÈÕÆÚ FROMͼÊé,¶ÁÕß,½èÔÄ

1

WHERE¶ÁÕß.±àºÅ=½èÔÄ.¶ÁÕß±àºÅAND½èÔÄ.ÊéºÅ=ͼÊé.ÊéºÅ AND½èÔÄÈÕÆÚ>'2008-11-15' ORDERBYÐÕÃû

Èý¡¢ÀûÓÃÉÏ´ÎÉÏ»úµÄѧÉú_¿Î³ÌÊý¾Ý¿â 1. ²éѯÿ¸öѧÉúµÄÇé¿öÒÔ¼°ËûËùÑ¡Ð޵Ŀγ̡£

USEѧÉú¿Î³Ì

SELECTѧÉú.ѧºÅ,ÐÕÃû,Ñ¡¿Î.¿Î³ÌºÅ,¿Î³ÌÃû,µ¥Î» FROMѧÉú,Ñ¡¿Î,¿Î³Ì

WHEREѧÉú.ѧºÅ=Ñ¡¿Î.ѧºÅANDÑ¡¿Î.¿Î³ÌºÅ=¿Î³Ì.¿Î³ÌºÅ ORDERBYѧºÅ

2. ÇóѧÉúµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡Ð޵ĿγÌÃû¼°³É¼¨¡£

USEѧÉú¿Î³Ì

SELECTѧÉú.ѧºÅ,ÐÕÃû,Ñ¡¿Î.¿Î³ÌºÅ,¿Î³ÌÃû,³É¼¨ FROMѧÉú,Ñ¡¿Î,¿Î³Ì

WHEREѧÉú.ѧºÅ=Ñ¡¿Î.ѧºÅANDÑ¡¿Î.¿Î³ÌºÅ=¿Î³Ì.¿Î³ÌºÅ ORDERBYѧºÅ

3. ÇóÑ¡ÐÞC1¿Î³ÌÇҳɼ¨Îª90·ÖÒÔÉϵÄѧÉúѧºÅ¡¢ÐÕÃû¼°³É¼¨¡£

USEѧÉú¿Î³Ì

SELECTѧÉú.ѧºÅ,ÐÕÃû,Ñ¡¿Î.¿Î³ÌºÅ,¿Î³ÌÃû,³É¼¨ FROMѧÉú,Ñ¡¿Î,¿Î³Ì

WHEREѧÉú.ѧºÅ=Ñ¡¿Î.ѧºÅANDÑ¡¿Î.¿Î³ÌºÅ=¿Î³Ì.¿Î³ÌºÅANDÑ¡¿Î.¿Î³ÌºÅ=¡¯C1¡¯AND³É¼¨>90 ORDERBYѧÉú.ѧºÅ

4. ²éѯÿÃſγ̵ļä½ÓÏÈÐпΣ¨¾ÍÊÇÏÈÐпεÄÏÈÐпΣ©¡£

USEѧÉú¿Î³Ì

SELECTÑ¡¿Î.¿Î³ÌºÅ,¿Î³ÌÃû,ÏÈÐпΠFROMÑ¡¿Î,¿Î³Ì

WHEREÑ¡¿Î.¿Î³ÌºÅ=¿Î³Ì.¿Î³ÌºÅ

ËÄ¡¢Íê³ÉÊéÉÏP158Ò³ÉÏ»úʵÑéÌâ4

1.ÏÔʾËùÓÐÖ°¹¤µÄÄêÁ䣬²¢°´Ö°¹¤ºÅµÝÔöÅÅÐò¡£

USEfactory

SELECTÖ°¹¤ºÅ,DATEDIFF(YY,GETDATE(),³öÉúÈÕÆÚ)ASÄêÁä FROMworker ORDERBYÖ°¹¤ºÅ

2.Çó³ö¸÷²¿Ãŵĵ³Ô±ÈËÊý¡£

USEfactory

SELECT²¿ÃźÅ,SUM(cast(µ³Ô±·ñasbigint))ASµ³Ô±ÈËÊý FROMworker

WHEREµ³Ô±·ñ='True' GROUPBY²¿ÃźÅ

3.ÏÔʾËùÓÐÖ°¹¤µÄÐÕÃûºÍ2004Äê1Ô·ݵŤ×ÊÊý¡£

USEfactory

SELECTÐÕÃû,¹¤×Ê FROMsalary

WHEREÈÕÆÚ='2004-01-04'

4.ÏÔʾËùÓÐÖ°¹¤µÄÖ°¹¤ºÅ¡¢ÐÕÃûºÍƽ¾ù¹¤×Ê¡£

USEfactory

SELECTÖ°¹¤ºÅ,ÐÕÃû,AVG(¹¤×Ê)ASƽ¾ù¹¤×Ê FROMsalary

GROUPBYÖ°¹¤ºÅ,ÐÕÃû

5.ÏÔʾËùÓÐÖ°¹¤µÄÖ°¹¤ºÅ¡¢ÐÕÃû¡¢²¿ÃÅÃûºÍ2004Äê2Ô·ݵŤ×Ê£¬²¢°´²¿ÃÅÃû˳ÐòÅÅ

2

Ðò¡£

USEfactory

SELECTsalary.Ö°¹¤ºÅ,salary.ÐÕÃû,²¿ÃÅÃû,¹¤×Ê FROMsalary,depart,worker

WHEREworker.²¿ÃźÅ=depart.²¿ÃźÅANDÈÕÆÚ='2004-02-03'ANDworker.Ö°¹¤ºÅ=salary.Ö°¹¤ºÅ ORDERBY²¿ÃÅÃû

6.ÏÔʾ¸ö²¿ÃÅÃûºÍ¸Ã²¿ÃŵÄËùÓÐÖ°¹¤Æ½¾ù¹¤×Ê¡£

USEfactory

SELECTdepart.²¿ÃÅÃû,AVG(¹¤×Ê)ASƽ¾ù¹¤×Ê FROMsalary,depart,worker

WHEREworker.²¿ÃźÅ=depart.²¿ÃźÅANDworker.Ö°¹¤ºÅ=salary.Ö°¹¤ºÅ GROUPBYdepart.²¿ÃÅÃû

7.ÏÔʾËùÓÐƽ¾ù¹¤×ʸßÓÚ1200µÄ²¿ÃÅÃûºÍ¶ÔÓ¦µÄƽ¾ù¹¤×Ê¡£

USEfactory

SELECTdepart.²¿ÃÅÃû,AVG(¹¤×Ê)ASƽ¾ù¹¤×Ê FROMsalary,depart,worker

WHEREworker.²¿ÃźÅ=depart.²¿ÃźŠANDworker.Ö°¹¤ºÅ=salary.Ö°¹¤ºÅ GROUPBYdepart.²¿ÃÅÃû HAVINGAVG(¹¤×Ê)>1200

8.ÏÔʾËùÓÐÖ°¹¤µÄÖ°¹¤ºÅ¡¢ÐÕÃûºÍ²¿ÃÅÀàÐÍ£¬ÆäÖвÆÎñ²¿ºÍÈËʲ¿Êô¹ÜÀí²¿ÃÅ£¬Êг¡²¿

ÊôÊг¡²¿ÃÅ¡£

USEfactory

SELECTworker.Ö°¹¤ºÅ,worker.ÐÕÃû, CASErtrim(²¿ÃÅÃû)

WHEN'²ÆÎñ´¦'THEN'¹ÜÀí²¿ÃÅ' WHEN'ÈËÊ´¦'THEN'¹ÜÀí²¿ÃÅ' WHEN'Êг¡²¿'THEN'Êг¡²¿ÃÅ' ELSE'ÆäËû²¿ÃÅ' ENDAS²¿ÃÅÀàÐÍ

FROMworkerinnerjoindepartOnworker.²¿ÃźÅ=depart.²¿ÃźÅ

9.Èô´æÔÚÖ°¹¤ºÅΪ10µÄÖ°¹¤£¬ÔòÏÔʾÆ乤×÷²¿ÃÅÃû³Æ£¬·ñÔòÏÔʾÏàÓ¦µÄÌáʾÐÅÏ¢¡£ USEfactory GO

DECLARE@noint,@depchar(10) SET@no=10

IFEXISTS(SELECT*FROMworkerWHEREÖ°¹¤ºÅ=@no) BEGIN

SELECT@dep=depart.²¿ÃÅÃû FROMworker,depart

WHEREworker.Ö°¹¤ºÅ=@noANDworker.²¿ÃźÅ=depart.²¿ÃźŠPRINT'Ö°¹¤ºÅΪ'+CAST(@noASCHAR(2))+'µÄÖ°¹¤ÔÚ'+ CAST(@depASchar(6))+'¹¤×÷' END ELSEqw

PRINT'²»´æÔÚ¸ÃÔ±¹¤µÄ¼Ç¼' GO

µÚ¶þÖÖ£º USE factory

DECLARE@cnoint SET@cno=10

IF EXISTI (SELECT * FROM worker WHERE Ö°¹¤ºÅ=@cno)

3

SELECT ²¿ÃÅÃû FROM depart WHERE ²¿ÃźŠIN(SELECT ²¿ÃźŠFROM worker WHERE Ö°¹¤ºÅ=@cno) ELSE

SELECT ¡®Ã»Óиù¤ºÅ¡¯

10.Çó³öÄÐŮְ¹¤µÄƽ¾ù¹¤×Ê£¬ÈôÄÐÖ°¹¤Æ½¾ù¹¤×ʸßÓÚŮְ¹¤Æ½¾ù¹¤×Ê50%£¬ÔõÏÔʾ?ÄÏ

¡®ÄÐÖ°¹¤±ÈŮְ¹¤µÄ¹¤×ʸ߶àÁË¡¯£¬ÈôÄÐÖ°¹¤Æ½¾ù¹¤×ʸßÓÚŮְ¹¤Æ½¾ù¹¤×ʱÈÂÊÔÚ1.5-0.8Ö®¼ä£¬ÔòÏÔʾÄÐÖ°¹¤Æ½¾ù¹¤×ʸßÓÚŮְ¹¤Æ½¾ù¹¤×ʲ¶à??µÄÐÅÏ¢£¬·ñÔò?Ůְ¹¤Æ½¾ù¹¤×ʸßÓÚÄÐÖ°¹¤Æ½¾ù¹¤×Ê?

USEfactory GO

DECLARE@avg1float,@avg2float,@ratiofloat --¼ÆËãÄÐÖ°¹¤Æ½¾ù¹¤×Ê

SELECT@avg1=AVG(¹¤×Ê) FROMworker,salary

WHEREworker.Ö°¹¤ºÅ=salary.Ö°¹¤ºÅANDworker.ÐÔ±ð='ÄÐ' --¼ÆËãŮְ¹¤Æ½¾ù¹¤×Ê

SELECT@avg2=AVG(¹¤×Ê) FROMworker,salary

WHEREworker.Ö°¹¤ºÅ=salary.Ö°¹¤ºÅANDworker.ÐÔ±ð='Å®' SET@ratio=@avg1/@avg2 IF@ratio>1.5

PRINT'ÄÐÖ°¹¤±ÈŮְ¹¤µÄ¹¤×ʸ߶àÁË' ELSE

IF@ratio>=0.8

PRINT'ÄÐÖ°¹¤¸úŮְ¹¤µÄ¹¤×ʲ¶à' ELSE

PRINT'Ůְ¹¤±ÈÄÐÖ°¹¤µÄ¹¤×ʸ߶àÁË' GO

4

ÁªÏµºÏͬ·¶ÎÄ¿Í·þ£ºxxxxx#qq.com(#Ì滻Ϊ@)