ÍâÁ¬½ÓsqlµÄÒ»¸öÎÊÌâ
µ±ÔÚÄÚÁ¬½Ó²éѯÖмÓÈëÌõ¼þʱ£¬ÎÞÂÛÊǽ«Ëü¼ÓÈëµ½join×Ӿ䣬»¹ÊǼÓÈëµ½where×Ӿ䣬ÆäЧ¹ûÊÇÍêȫһÑùµÄ£¬µ«¶ÔÓÚÍâÁ¬½ÓÇé¿ö¾Í²»Í¬ÁË¡£µ±°ÑÌõ¼þ¼ÓÈëµ½ join×Ó¾äʱ£¬»á·µ»ØÍâÁ¬½Ó±íµÄÈ«²¿ÐУ¬È»ºóʹÓÃÖ¸¶¨µÄÌõ¼þ·µ»ØµÚ¶þ¸ö±íµÄÐС£Èç¹û½«Ìõ¼þ·Åµ½where×Ó¾äÖУ¬½«»áÊ×ÏȽøÐÐÁ¬½Ó²Ù×÷£¬È»ºóʹÓÃwhere×Ó¾ä¶ÔÁ¬½ÓºóµÄÐнøÐÐɸѡ¡£ÀýÈ磺
£¨1£©
select u.id, u.p_plan_id, u.unit_name, p.id, p.plan_name
from t_baidu_p_units u
left outer join t_baidu_p_plans p on u.p_plan_id = p.id
and p.id = 3176
where 1 = 1
order by u.p_plan_id desc
Ëü»á·µ»Øt_baidu_p_units±íÖÐËùÓÐÐУ¬t_baidu_p_plans±íÖзûºÏjoinÌõ¼þµÄ×ֶβ»Îªnull
£¨2£©
select u.id, u.p_plan_id, u.unit_name, p.id, p.plan_name
from t_baidu_p_units u
left outer join t_baidu_p_plans p on u.p_plan_id = p.id
and p.id = 3176
where p.id is null
order by u.p_plan_id desc
²éѯµÄ½á¹û¼¯ÖÐûÓзûºÏjoinÌõ¼þµÄÊý¾Ý
£¨3£©
select u.id, u.p_plan_id, u.unit_name, p.id, p.plan_name
from t_baidu_p_units u
left outer join t_baidu_p_plans p on u.p_plan_id = p.id
and p.id = 3176
where p.id is not null
order by u.p_plan_id desc
½á¹û¼¯ÖÐÖ»°üº¬joinÌõ¼þµÄÊý¾Ý
·ÖÎöһϣº
£¨1£©where1=1¶ÔÆä½øÐйýÂËʱ£¬ÓÉÓÚ¶¼·ûºÏ´ËÌõ¼þ£¬Òò´ËûÓиıä½á¹û¼¯
£¨2£©¸ù¾Ýwhere p.id is null¶ÔÓÚjoinºóµÄ½á¹û¼¯½øÐÐɸѡ£¬·²ÊÇp.id²»ÎªnullµÄ¶¼Òª¹ýÂ˵ô£¬Òò´Ë×ÔȻûÓÐp.id=3176µÄ½á¹û
£¨
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ORACLE SQLÐÔÄÜÓÅ»¯ÏµÁÐ
1. ·ÃÎÊTableµÄ·½Ê½
ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½:
a. È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼. ORACLE²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é(database block)µÄ·½Ê½ÓÅ»¯È«±íɨÃè.
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö,Ìá¸ß·ÃÎʱíµÄЧÂÊ, , ROWID°üº¬Á˱íÖмǼµ ......
ÏÈÀ´Ò»¶Î´úÂ룺
WITH OrderedOrders AS
(SELECT *,
ROW_NUMBER() OVER (order by [id])as RowNumber¡¡¡¡--idÊÇÓÃÀ´ÅÅÐòµÄÁÐ
from table_info ) --table_infoÊDZíÃû
SELECT *
from OrderedOrders
WHERE RowNumber between 50 and 60;
ÔÚwindows server 2003, sql server 2005 CTP,P4 2.66GHZ,1GB ÄÚ´æÏ²âÊÔ£¬Ö´ÐÐʱ ......
ORACLE SQLÐÔÄÜÓÅ»¯
ORACLE SQLÐÔÄÜÓÅ»¯ÏµÁÐ (Ò»)
1. Ñ¡ÓÃÊʺϵÄORACLEÓÅ»¯Æ÷
ORACLEµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ:
a. RULE (»ùÓÚ¹æÔò) b. COST (»ùÓڳɱ¾) c. CHOOSE (Ñ¡ÔñÐÔ)
ÉèÖÃȱʡµÄÓÅ»¯Æ÷,¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊýµÄ¸÷ÖÖÉùÃ÷,ÈçRULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . Ä㵱ȻҲÔÚSQ ......
declare @ID varchar(10)
set @ID=9 --¸ù½Úµã
declare @i int --¼¶Êý
declare @t table(ID varchar(10),ParentID varchar(10),Level int)
set @i = 1
insert into @t select @ID,0,0 --µ±Ç°¼¶£¬±¾¼¶£¬Èç¹û²»ÒªµÄ»°¿ÉÒÔ×¢Ê͵ô»òÔÙ¼Ó¸ö²ÎÊýÀ´Ñ¡Ôñ²Ù×÷
insert into @t select ID,ParentID,@i from t_ ......