Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : sql

sqlÓÅ»¯34Ìõ

ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£©      Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐèҪѡÔñ½»²æ±í(intersection table)×÷Ϊ»ù´¡±í, ½»²æ±íÊÇÖ¸ÄǸö±»ÆäËû±íËùÒýÓõıí.
£¨2£©      WHERE×Ó¾äÖеÄÁ¬½Ó˳Ðò£®£º
ORACLE²ÉÓÃ×Ô϶øÉϵÄ˳Ðò½âÎöWHERE×Ó¾ä,¸ù¾ÝÕâ¸öÔ­Àí,±íÖ®¼äµÄÁ¬½Ó±ØÐëдÔÚÆäËûWHEREÌõ¼þ֮ǰ, ÄÇЩ¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWHERE×Ó¾äµÄĩβ.
£¨3£©      SELECT×Ó¾äÖбÜÃâʹÓà ‘ * ‘£º
ORACLEÔÚ½âÎöµÄ¹ý³ÌÖÐ, »á½«'*' ÒÀ´Îת»»³ÉËùÓеÄÁÐÃû, Õâ¸ö¹¤×÷ÊÇͨ¹ý²éѯÊý¾Ý×ÖµäÍê³ÉµÄ, ÕâÒâζ׎«ºÄ·Ñ¸ü¶àµÄʱ¼ä
£¨4£©      ¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý£º
ORACLEÔÚÄÚ²¿Ö´ÐÐÁËÐí¶à¹¤×÷: ½âÎöSQLÓï¾ä, ¹ÀËãË÷Òý ......

SQL ϵͳ±í Sysobjects ºÍ SysColumns ±íµÄһЩ֪ʶ


syscolumns
ÿ¸ö±íºÍÊÓͼÖеÄÿÁÐÔÚ±íÖÐÕ¼Ò»ÐУ¬´æ´¢¹ý³ÌÖеÄÿ¸ö²ÎÊýÔÚ±íÖÐÒ²Õ¼Ò»ÐС£¸Ã±íλÓÚÿ¸öÊý¾Ý¿âÖС£
ÁÐÃûÊý¾ÝÀàÐÍÃèÊö
name
sysname
ÁÐÃû»ò¹ý³Ì²ÎÊýµÄÃû³Æ¡£
id
int
¸ÃÁÐËùÊôµÄ±í¶ÔÏó ID£¬»òÓë¸Ã²ÎÊý¹ØÁªµÄ´æ´¢¹ý³Ì ID¡£
xtype
tinyint
systypes ÖеÄÎïÀí´æ´¢ÀàÐÍ¡£
typestat
tinyint
½öÏÞÄÚ²¿Ê¹Óá£
xusertype
smallint
À©Õ¹µÄÓû§¶¨ÒåÊý¾ÝÀàÐÍ ID¡£
length
smallint
systypes ÖеÄ×î´óÎïÀí´æ´¢³¤¶È¡£
xprec
tinyint
½öÏÞÄÚ²¿Ê¹Óá£
xscale
tinyint
½öÏÞÄÚ²¿Ê¹Óá£
colid
smallint
Áлò²ÎÊý ID¡£
xoffset
smallint
½öÏÞÄÚ²¿Ê¹Óá£
bitpos
tinyint
½öÏÞÄÚ²¿Ê¹Óá£
reserved
tinyint
½öÏÞÄÚ²¿Ê¹Óá£
colstat
smallint
½öÏÞÄÚ²¿Ê¹Óá£
cdefault
int
¸ÃÁеÄĬÈÏÖµ ID¡£
domain
int
¸ÃÁеĹæÔò»ò CHECK Ô¼Êø ID¡£
number
smallint
¹ý³Ì·Ö×éʱ£¨0 ±íʾ·Ç¹ý³ÌÏµÄ×Ó¹ý³ÌºÅ¡£
colorder
smallint
½öÏÞÄÚ²¿Ê¹Óá£
autoval
varbinary(255)
½öÏÞÄÚ²¿Ê¹Óá£
offset
smallint
¸ÃÁÐËùÔÚÐÐµÄÆ«ÒÆÁ¿£»Èç¹ûΪ¸º£¬±íʾ¿É±ä³¤¶ÈÐС£
status
tinyint
ÓÃÓÚÃèÊöÁлò²ÎÊýÊôÐÔµÄλͼ£º
0x08 = ÁÐÔÊÐí¿ÕÖµ¡£
0x10 = µ±Ì ......

SQLÃæÊÔÌâ


Insert Into Êý¾Ý±íÃû³Æ(×Ö¶ÎÃû³Æ1,×Ö¶ÎÃû³Æ2,...) values(×Ö¶ÎÖµ1,×Ö¶ÎÖµ2,...)
insert into user(username,password,age) values('ÀîÀÏËÄ','6666',45)
Update Êý¾Ý±íÃû³Æ Set ×Ö¶ÎÃû³Æ=×Ö¶ÎÖµ,×Ö¶ÎÃû³Æ=×Ö¶ÎÖµ,...[Where Ìõ¼þ]
Delete from Êý¾Ý±í
ÏÂÁвéѯ·µ»ØÔÚLONDON£¨Â×¶Ø£©»òSEATTLE£¨Î÷ÑÅͼ£©µÄËùÓйÍÔ±£º
SELECT * from employees WHERE UPPER(city) IN ('LONDON'£¬'SEATTLE')
ÏÂÃæÊ¾ÀýÀûÓÃDATEDIFFº¯Êý£¬È·¶¨ÔÚ pubs Êý¾Ý¿âÖбêÌâ·¢²¼ÈÕÆÚºÍµ±Ç°ÈÕÆÚ¼äµÄÌìÊý¡£
SELECT DATEDIFF(day, OrderDate, getdate()) AS no_of_days from table1
·µ»Ø×Ö·û´®"wonderful"ÔÚ titles ±íµÄ notes ÁÐÖпªÊ¼µÄλÖá£
SELECT CHARINDEX('wonderful', notes)
ÒÔÏÂÊÇ·µ»ØµÄ½á¹û£º£¨µÚ47¸ö×Ö·ûλÖã©
ÏÔʾ¹¤×÷Õ¾µÄÃû³Æ£ºselect host_name() as [Client Computer Name]
ÏÂÀýÊǼìË÷ titles ±íÖаٷÖÖ®ÎåÊ®µÄÊé¡£Èç¹û titles ±íÖаüº¬ÁË 18 ÐУ¬Ôò½«¼ìË÷ǰ 9 ÐС£
SELECT TOP 50 PERCENT title from titles
×Ö¶ÎÃû³Æ [Not] Between Æðʼֵ and ÖÕÖ¹Öµ
ÁгöBOOK±íÖÐ30ÖÁ50ÔªµÄÊé
select * from  book where price between 30 and 50
×Ö¶ÎÃû³Æ [Not] In(ÁгöÖµ1,ÁгöÖ ......

SQL Serverº¯Êý´óÈ«

  --¾ÛºÏº¯Êý
use pubs
go
select avg(distinct price)  --ËãÆ½¾ùÊý
from titles
where type='business'
go 
use pubs
go
select max(ytd_sales)  --×î´óÊý
from titles
go 
use pubs
go
select min(ytd_sales) --×îСÊý
from titles
go 
use pubs
go
select type,sum(price),sum(advance)  --ÇóºÍ
from titles
group by type
order by type
go 
use pubs
go 
select count(distinct city)  --Çó¸öÊý
from authors
go 
use pubs
go
select stdev(royalty) --·µ»Ø¸ø¶¨±í´ïʽÖÐËùÓÐÖµµÄͳ¼Æ±ê׼ƫ²î
from titles
go 
use pubs
go
select stdevp(royalty) --·µ»Ø±í´ïʽÖÐËùÓÐÖÆµÄÌî³äͳ¼Æ±ê׼ƫ²î
from titles
go 
use pubs
go
select var(royalty) --·µ»ØËùÓÐÖµµÄͳ¼Æ·½²î
from titles
go 
use pubs
go
select varp(royalty)&nb ......

SQL²éѯЧÂÊ 100wÊý¾Ý²éѯֻҪ1Ãë

»úÆ÷Çé¿ö
p4: 2.4
ÄÚ´æ: 1 G
os: windows 2003
Êý¾Ý¿â: ms sql server 2000
Ä¿µÄ: ²éѯÐÔÄܲâÊÔ,±È½ÏÁ½ÖÖ²éѯµÄÐÔÄÜ
SQL²éѯЧÂÊ step by step
-- setp 1.
-- ½¨±í
create table t_userinfo
(
userid int identity(1,1) primary key nonclustered,
nick varchar(50) not null default '',
classid int not null default 0,
writetime datetime not null default getdate()
)
go
-- ½¨Ë÷Òý
create clustered index ix_userinfo_classid on t_userinfo(classid)
go
-- step 2.
declare @i int
declare @k int
declare @nick varchar(10)
set @i = 1
while @i<1000000
begin
set @k = @i % 10
set @nick = convert(varchar,@i)
insert into t_userinfo(nick,classid,writetime) values(@nick,@k,getdate())
set @i = @i + 1
end
-- ºÄʱ 08:27 £¬ÐèÒªÄÍÐĵȴý
-- step 3.
select top 20 userid,nick,classid,writetime from t_userinfo
where userid not in
(
select top 900000 userid from t_userinfo order by userid asc
)
-- ºÄʱ 8 Ãë ,¹»³¤µÄ
-- step 4.
select a.userid,b.nick,b.classid,b.writetime from
(
select to ......

SQLµÄÓÅ»¯

´ó¼Ò¶¼ÔÚÌÖÂÛ¹ØÓÚÊý¾Ý¿âÓÅ»¯·½ÃæµÄ¶«¶«£¬¸ÕºÃ²ÎÓ뿪·¢ÁËÒ»¸öÊý¾Ý²Ö¿â·½ÃæµÄÏîÄ¿£¬ÒÔϵÄÒ»µã¶«Î÷ËãÊÇÊý¾Ý¿âÓÅ»¯·½ÃæµÄѧϰ+ʵսµÄһЩÐĵÃÌå»áÁË£¬ÄóöÀ´´ó¼Ò¹²Ïí¡£»¶Ó­ÅúÆÀÖ¸Õý°¢£¡
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼­£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯ÔÚʱ¼ä³É±¾ºÍ·çÏÕÉϵĴú¼Û¶¼ºÜµÍ£»
¿ÉÒÔÓв»Í¬µÄд·¨£»Ò×ѧ£¬ÄѾ«Í¨¡£
SQLÓÅ»¯£º
¹Ì¶¨µÄSQLÊéдϰ¹ß£¬ÏàͬµÄ²éѯ¾¡Á¿±£³ÖÏàͬ£¬´æ´¢¹ý³ÌµÄЧÂʽϸߡ£
Ó¦¸Ã±àдÓëÆä¸ñʽһÖµÄÓï¾ä£¬°üÀ¨×ÖĸµÄ´óСд¡¢±êµã·ûºÅ¡¢»»ÐеÄλÖõȶ¼ÒªÒ»ÖÂ
ORACLEÓÅ»¯Æ÷£º
ÔÚÈκοÉÄܵÄʱºò¶¼»á¶Ô±í´ïʽ½øÐÐÆÀ¹À£¬²¢ÇÒ°ÑÌØ¶¨µÄÓï·¨½á¹¹×ª»»³ÉµÈ¼ÛµÄ½á¹¹£¬Õâô×öµÄÔ­ÒòÊÇ
Ҫô½á¹û±í´ïʽÄܹ»±ÈÔ´±í´ïʽ¾ßÓиü¿ìµÄËÙ¶È
ҪôԴ±í´ïʽֻÊǽá¹û±í´ïʽµÄÒ»¸öµÈ¼ÛÓïÒå½á¹¹
²»Í¬µÄSQL½á¹¹ÓÐʱ¾ßÓÐͬÑùµÄ²Ù×÷£¨ÀýÈ磺= ANY (subquery) and IN (subquery)£©£¬ORACLE»á°ÑËûÃÇÓ³Éäµ½Ò»¸öµ¥Ò»µÄÓïÒå½á¹¹¡£
1 ³£Á¿ÓÅ»¯£º
³£Á¿µÄ¼ÆËãÊÇÔÚÓï¾ä±»ÓÅ»¯Ê±Ò»´ÎÐÔÍê³É£¬¶ø²»ÊÇÔÚÿ´ÎÖ´ÐÐʱ¡£ÏÂÃæÊǼìË÷ÔÂн´óÓÚ2000µÄµÄ±í´ïʽ£º
sal > 24000/12
sal > 2 ......
×ܼǼÊý:4346; ×ÜÒ³Êý:725; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [80] [81] [82] [83] 84 [85] [86] [87] [88] [89]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ