Ò»¸öSQLÃæÊÔÌâ
ÌâĿҪÇó
°¢ÀïbabaµÄÃæÊÔÌâ
ÓÐÈý¸ö±í
ѧÉú±í S
SID SNAME
½Ìʦ¿Î±í T
TID TNAME TCL
³É¼¨±í SC
SID TCL SCR
¸÷×ֶεĺ¬Òå²»ÓÃÎÒ±êÃ÷Á˰ɣ¬´óÏÀ¸ç¸çô£¡ºÇºÇ
ÏÖÔÚÒªÇóдSQL²éѯ
1¡¢Ñ¡ÐÞÁËA¡¢B¿Î³Ì£¬²¢ÇÒA¿Î³ÌµÄ³É¼¨´óÓÚB³É¼¨µÄѧÉúÐÕÃû£¿
2¡¢Ã»ÓÐÑ¡ÐÞ‘li’ÀÏʦµÄ¿Î³ÌµÄѧÉú£¬ÒªÇó²»ÄÜÓÃin£¬exists µÈ´Ê£¿
create table SC(
SID varchar(64) ,
TCL varchar(64) ,
SCR int) ;
create table S (
SID varchar(64) ,
SNAME varchar(64)
) ;
create table T
(
TID varchar(64),
TNAME varchar(64),
TCL varchar(64)
) ;
insert into S VALUES ('1','11') ;
insert into S VALUES ('2','22') ;
insert into S VALUES ('3','33') ;
insert into S VALUES ('4','44') ;
insert into SC VALUES ('1','a',100) ;
insert into SC VALUES ('1','b',90) ;
insert into SC VALUES ('2','a',77) ;
insert into SC VALUES ('3','b',34) ;
insert into SC VALUES ('4','a',59) ;
insert into SC VALUES ('4','b',88) ;
insert into T VALUES ('5','li','a');
µÚÒ»¸öÎÊÌâµÄ´ð°¸
select
s.sname,sc1.scr,sc2.scr
from
s,sc sc1,sc sc2
where s.sid=sc1.sid
and s.sid=sc2.sid
and sc1.tcl='a'
and sc2.tcl='b'
and sc1.scr>sc2.scr
ÔËÐнá¹û£º
11 £¬100 £¬ 90
µÚ¶þÌâµÄ´ð°¸
select sid from
(select s.sid,a.tcl from (select sc.sid,sc.tcl from sc,t where sc.tcl=t.tcl and t.tname='li' ) a
right join s
on a.sid=s.sid ) b
where b.tcl is null
ÔËÐнá¹û
3
Ïà¹ØÎĵµ£º
Êý¾Ý²ã´ÎµÄ¸ÅÄî:
Êý¾Ý²ã´ÎÊDZí´ïÊý¾ÝµÄÒ»ÖÖÖØÒª¹ØÏµ£¬ÔÚÊý¾Ý¿âµÄÉè¼ÆÖУ¬È磺×éÖ¯½á¹¹·Ö½â¡¢¹¤×÷ÈÎÎñ·Ö½â¡¢ÐÐÕþÇø»®µÄ·Ö½âµÈ¶¼ÊDzã´Î¹ØÏµÊý¾ÝµÄµäÐÍʵÀý¡£
±í´ï²ã´Î¹ØÏµµÄÊý¾ÝÒ»°ãÐèҪʵÏÖÈçÏÂÊôÐÔ£º
1.²ã´ÎµÄ×î´ó¼¶Áª²ã´ÎÊý¡£È磺Öйú£>ºþÄÏÊ¡->³¤É³ÊÐ->Óê»¨Çø£¬¾ÍÊÇ4²ã¡£
2.ÄÜ·´Ó³Í¬Ò»² ......
USE master
GO
CREATE DATABASE testbase2
ON
PRIMARY
(NAME = prim_sub_dat1,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.mdf',
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 20%),
(NAME = prim_sub_dat2,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.ndf'
SIZE = 5MB,
MAXSIZE = 50MB,
......
Ê×ÏÈÎÒ½¨ºÃÁËÒ»ÕÅÓû§±í±íÖÐÓÐÁ©¸ö×Ö¶Î Ò»¸öÊÇÕ˺ţ¬Ò»¸öÊÇÃÜÂ뵱ȻÕâÀïÎÒдµÄ֪ʶ¼òµ¥µÄµÇ¼ºÜ×¢²á£¬
±íÃ÷ users Óû§±í
×Ö¶Î accountnum varchar(50) --±íʾÕ˺Å
password varchar(50) --±íʾÃÜÂë
µÇ¼´æ´¢¹ý³Ì
create proc use_l ......
ÏÂÃæµÄÕâЩ½Å±¾¶¼¿ÉÒÔÕÒµ½ÒýÆð´ÅÅÌÅÅÐòµÄSQL¡£
SELECT /*+ rule */ DISTINCT a.SID, a.process, a.serial#,
TO_CHAR (a.logon_time, 'YYYYMMDD HH24:MI:SS') LOGON, a.osuser,TABLESPACE, b.sql_text
from v$session a, v$sql b, v$sort_usage c
WHERE a.sql_address = b.address AND a.saddr = c.session_addr;
......