SQLÓïÑÔ»ù´¡¿¼ºË(Ò»)(oracle)
1.ÀûÓÃÏÂÃæµÄ½Å±¾´´½¨BOOK£¬READER ºÍ BORROW ±í£¬²¢Íê³ÉºóÃæµÄÁªÏµ¡£
CREATE TABLE BOOK(
NO CHAR(8) PRIMARY KEY,
TITLE VARCHAR2(50) NOT NULL,
AUTHOR VARCHAR2(20) ,
PUBLISH VARCHAR2(20),
PUB_DATE DATE,
PRICE NUMBER(6,2)
);
CREATE TABLE READER(
RNO CHAR(6) PRIMARY KEY,
RNAME VARCHAR2(20) NOT NULL
);
CREATE TABLE BORROW(
NO CHAR(8),
RNO CHAR(6),
BORROW_DATE DATE DEFAULT SYSDATE,
PRIMARY KEY(NO,RNO),
FOREIGN KEY (NO) REFERENCES BOOK(NO),
FOREIGN KEY (RNO) REFERENCES READER(RNO)
);
1).ÀûÓÃSQL Óï¾äʵÏÖÏò BOOK,READER ºÍBORROW ±íÖвåÈëÊý¾Ý£¬²åÈëºó±íÖÐÊý¾ÝÈçÏÂ
BOOK
NO
TITLE
AUTHOR
PUBLISH
PUB_DATE
PRICE
100001
Oracle9iÊý¾Ý¿âϵͳ¹ÜÀí
Àî´úƽ
Ò±½ð¹¤Òµ³ö°æÉç
2003-01-01
38
100002
Oracle9iÖÐÎİæÈëÃÅ
ÕÔËÉÌÎ
ÈËÃñÓʵç³ö°æÉç
2002-07-01
35
100003
Oracle9i¿ª·¢Ö¸ÄÏ
Joan Casteel
µç×Ó¹¤Òµ³ö°æÉç
2004-04-03
49
100004
Êý¾Ý¿âÔÀí
Ê¢¶¨Óî
µç×Ó¹¤Òµ³ö°æÉç
2004-03-01
34
100005
Oracle9iÖÐÎİæÊµÓÃÅàѵ
ÕÔ²®É½
µç×Ó¹¤Òµ³ö°æÉç
2002-01-01
21
100006
Oracle9iʵÓý̳Ì
ÎÌÕý¿Æ
µç×Ó¹¤Òµ³ö°æÉç
2003-07-08
38
READER
RNO
RNAME
200001
ÕÅÈý
200002
Àî·ï
200003
ÃÏÐÀ
200004
л·Ç
200005
ÁõÓ¢
BORROW
Ïà¹ØÎĵµ£º
½ñÌìÒ»¸öÅóÓÑÔÚÎʹØÓÚ´´½¨ÊÓͼʱºòWITH CHECK OPTIONÊÇʲôÒâ˼£¬ÎÒµ±Ê±Ò²Ã»¶àÏ룬¾Í±È½ÏÁýͳµÄ»Ø´ðÁËһϡ£ºóÀ´×Ô¼ºÏëÁËÏ룬ºÃÏñ×Ô¼ºÒ²¼Ç²»Ì«Çå³þÁË£¬ÄÔ×ÓÀïÖ»Óиö´ó¸ÅµÄÓ¡Ïó¡£
ºÃÁË»°²»¶à˵£¬ÏÂÃæ»¹ÊÇͨ¹ýʵÑéÀ´¿´Ò»Ï°ɡ£
C:\Documents and Settings\Admin>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Product ......
where 1=1ÓÐʲôÓã¿ÔÚSQLÓïÑÔÖУ¬Ð´Õâôһ¾ä»°¾Í¸úûдһÑù¡£
select * from table1 where 1=1Óëselect * from table1ÍêȫûÓÐÇø±ð£¬ÉõÖÁ»¹ÓÐÆäËûÐí¶àд·¨£¬1<>2£¬'a'='a','a'<>'b'£¬ÆäÄ¿µÄ¾ÍÖ»ÓÐÒ»¸ö£¬whereµÄÌõ¼þΪÓÀÕæ£¬µÃµ½µÄ½á¹û¾ÍÊÇδ¼ÓÔ¼ÊøÌõ¼þµÄ¡£
ÔÚSQL×¢Èëʱ»áÓõ½Õâ¸ö£¬ÀýÈçselect * from table1 ......
ÔÚOracleÖпÉÒÔ´´½¨×éºÏË÷Òý£¬¼´Í¬Ê±°üº¬Á½¸ö»òÁ½¸öÒÔÉÏÁеÄË÷Òý¡£ÔÚ×éºÏË÷ÒýµÄʹÓ÷½Ã棬OracleÓÐÒÔÏÂÌØµã£º
1¡¢ µ±Ê¹ÓûùÓÚ¹æÔòµÄÓÅ»¯Æ÷£¨RBO£©Ê±£¬Ö»Óе±×éºÏË÷ÒýµÄǰµ¼ÁгöÏÖÔÚSQLÓï¾äµÄwhere×Ó¾äÖÐʱ£¬²Å»áʹÓõ½¸ÃË÷Òý£»
2¡¢ ÔÚʹÓÃOracle9i֮ǰµÄ»ùÓڳɱ¾µÄÓÅ»¯Æ÷£¨CBO£©Ê± ......
2009-11-15 13:06:35
½ñÌìÔÚITPUB·¢ÏÖһƪÎÄÕ£¬ÀÏÔçÒÔǰµÄÁË£¬Ð´µÄÂùÓÐÒâ˼£¬ÌØÒâת¹ýÀ´Êղء£
¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>, >=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆº ......
µÚÒ»²¿·Ö¡¢SQL&PL/SQL
[Q]ÔõôÑù²éÑ¯ÌØÊâ×Ö·û£¬ÈçͨÅä·û%Óë_
[A]select * from table where name like 'A_%' escape ''
[Q]ÈçºÎ²åÈëµ¥ÒýºÅµ½Êý¾Ý¿â±íÖÐ
[A]¿ÉÒÔÓÃASCIIÂë´¦Àí£¬ÆäËüÌØÊâ×Ö·ûÈç&Ò²Ò»Ñù£¬Èç
insert into t values('i'||chr(39)||'m'); -- chr(39)´ú±í×Ö·û'
»òÕßÓÃÁ½¸öµ¥ÒýºÅ±íʾһ¸ö
or ......