¸ß¼¶SQL 2
1 ÓÃUNIONÌæ»»OR (ÊÊÓÃÓÚË÷ÒýÁÐ)
ͨ³£Çé¿öÏÂ, ÓÃUNIONÌæ»»WHERE×Ó¾äÖеÄOR½«»áÆðµ½½ÏºÃµÄЧ¹û. ¶ÔË÷ÒýÁÐʹÓÃOR½«Ôì³ÉÈ«±íɨÃè. ×¢Òâ, ÒÔÉϹæÔòÖ»Õë¶Ô¶à¸öË÷ÒýÁÐÓÐЧ.
Èç¹ûÓÐcolumnûÓб»Ë÷Òý, ²éѯЧÂÊ¿ÉÄÜ»áÒòΪÄãûÓÐÑ¡ÔñOR¶ø½µµÍ. ÔÚÏÂÃæµÄÀý×ÓÖÐ, LOC_ID ºÍREGIONÉ϶¼½¨ÓÐË÷Òý.
¸ßЧ: SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE LOC_ID = 10 UNION SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE REGION = “MELBOURNE”;
µÍЧ: SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE LOC_ID = 10 OR REGION = “MELBOURNE”;
Èç¹ûÄã¼á³ÖÒªÓÃOR, ÄǾÍÐèÒª·µ»Ø¼Ç¼×îÉÙµÄË÷ÒýÁÐдÔÚ×îÇ°Ãæ.
2 ÓÃ>=Ìæ´ú>
¸ßЧ:
SELECT * from EMP WHERE DEPTNO >=4 ;
µÍЧ:
SELECT * from EMP WHERE DEPTNO >3 ;
Á½ÕßµÄÇø±ðÔÚÓÚ, ǰÕßDBMS½«Ö±½ÓÌøµ½µÚÒ»¸öDEPTµÈÓÚ4µÄ¼Ç¼¶øºóÕß½«Ê×Ïȶ¨Î»µ½DEPTNO=3µÄ¼Ç¼²¢ÇÒÏòǰɨÃèµ½µÚÒ»¸öDEPT´óÓÚ3µÄ¼Ç¼.
3 ±ÜÃâÔÚË÷ÒýÁÐÉÏʹÓüÆË㣮
WHERE×Ó¾äÖУ¬Èç¹ûË÷ÒýÁÐÊǺ¯ÊýµÄÒ»²¿·Ö£®ÓÅ»¯Æ÷½«²»Ê¹ÓÃË÷Òý¶øÊ¹ÓÃÈ«±íɨÃ裮 ¾ÙÀý:
µÍЧ£º
SELECT … from DEPT WHERE SAL * 12 > 25000;
¸ßЧ:
SELECT … from DEPT WHERE SAL > 25000/12;
4 ÓÃEXISTSÌæ»»DISTINCT£º
µ±Ìá½»Ò»¸ö°üº¬Ò»¶Ô¶à±íÐÅÏ¢(±ÈÈ粿ÃűíºÍ¹ÍÔ±±í)µÄ²éѯʱ,±ÜÃâÔÚSELECT×Ó¾äÖÐʹÓÃDISTINCT. Ò»°ã¿ÉÒÔ¿¼ÂÇÓÃEXISTÌæ»», EXISTS ʹ²éѯ
¸üΪѸËÙ,ÒòΪRDBMSºËÐÄÄ£¿é½«ÔÚ×Ó²éѯµÄÌõ¼þÒ»µ©Âú×ãºó,Á¢¿Ì·µ»Ø½á¹û. Àý×Ó£º
(µÍЧ): SELECT DISTINCT DEPT_NO,DEPT_NAME from DEPT D , EMP E
WHERE D.DEPT_NO = E.DEPT_NO ;
(¸ßЧ): SELECT DEPT_NO,DEPT_NAME from DEPT D WHERE EXISTS ( SELECT * from EMP E WHERE E.DEPT_NO = D.DEPT_NO);
Ïà¹ØÎĵµ£º
-- FUN:´æ´¢¹ý³Ì·ÖÒ³
-- @Table nvarchar(255), -- ±íÃû
-- @Fields nvarchar(1000) = ' * ', -- ÐèÒª·µ»ØµÄÁÐ
-- @OrderField nvarchar(255), -- ÅÅÐòµÄ×Ö¶ÎÃû,Ò»°ãΪΨһ±êʶ
-- @OrderType bit = 0, -- ÉèÖÃÅÅÐòÀàÐÍ, ·Ç 0 ÖµÔò½µÐò
-- @PageSize int = 10, -- ÿҳÓжàÉÙÌõ¼Ç¼
-- @PageIndex int = 1, -- µÚ ......
DB2 SQL PL
SQL PLÊÇDB2ËùÖ§³ÖµÄ¹ý³Ì»¯ÓïÑÔ£¬ËüÊÇSQL/PSM±ê×¼µÄÒ»¸ö×Ó¼¯¡£Æä¸ù¾ÝÓ¦Ó÷¶Î§²»Í¬£¬ÓÖ·ÖΪInline SQL PL£¬Embeded SQL PLºÍCompiled SQL PL¡£
Inline SQL PL
ÊÊÓ÷¶Î§£º´¥·¢Æ÷¡¢º¯ÊýºÍ·½·¨£¬Ö§³Ö²¿·ÖSQL PL£¬Ê¹ÓÃʱҪעÒâһЩÏÞÖÆ
Óï·¨¹æÔò£ºBEGIN ATOMIC ... END
Embeded SQL PL
ÊÊÓ÷¶Î§£ºÇ¶Èëʽ£¬Åäº ......
¾ßÌåʵÏÖÈçÏ£º
SQL> select count(*) from v$session #Á¬½ÓÊý
SQL> Select count(*) from v$session where status='ACTIVE'¡¡#²¢·¢Á¬½ÓÊý
SQL> show parameter processes #×î´óÁ¬½Ó
SQL> alter system set processes = value scope = spfile;ÖØÆôÊý¾Ý¿â #ÐÞ¸ÄÁ¬½Ó ......
SQL³£Ó÷ÖÒ³µÄ°ì·¨:
±íÖÐÖ÷¼ü±ØÐëΪ±êʶÁУ¬[ID] int IDENTITY (1,1)
1.·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³)
Óï¾äÐÎʽ£º
SELECT TOP Ò³¼Ç¼ÊýÁ¿ *
from ±íÃû
WHERE (ID NOT IN
(SELECT TOP (ÿҳÐÐÊý*(Ò³Êý-1)) ID
from ±íÃû
ORDER BY ID))
ORDER BY ID
//×Ô ......