Ñ§Ï°Íø¿¼ÊÔѧϰ×ÊÁÏ

Gzu521.com

SQLÓï¾äµÄ»ù±¾Óï·¨

Êý¾Ý¿â»ù´¡   µã»÷£º´Î   ·¢²¼Ê±¼ä£º2005-11-17   ¡¾×ÖÌ壺´ó ÖРС¡¿   À´Ô´£º51cto
GZU521.COMÑ§Ï°Íø

sqlÓï¾äµÄ»ù±¾Óï·¨

Ò».selectÓï¾äµÄÍêÕûÓ﷨Ϊ£º
select[all|distinct|distinctrow|top]
{*|talbe.*|[table.]field1[as alias1][,[table.]field2[as alias2][,¡­]]}
from tableexpression[,¡­][in externaldatabase]
[where¡­]
[group by¡­]
[having¡­]
[order by¡­]
[with owneraccess option]
˵Ã÷£º
ÓÃÖÐÀ¨ºÅ([])À¨ÆðÀ´µÄ²¿·Ö±íʾÊÇ¿ÉÑ¡µÄ£¬ÓôóÀ¨ºÅ({})À¨ÆðÀ´µÄ²¿·ÖÊDZíʾ±ØÐë´ÓÖÐÑ¡ÔñÆäÖеÄÒ»¸ö¡£ yn{fg9S]@It]6€ AO [ ±¾ ×Ê ÁÏ À´ Ô´ ÓÚ ¹ó ÖÝ Ñ§ ϰ Íø ÍøÂç±à³ÌÊý¾Ý¿â»ù´¡ http://Www.gzU521.com ] yn{fg9S]@It]6€ AO

1 from×Ó¾ä
from×Ó¾äÖ¸¶¨ÁËselectÓï¾äÖÐ×ֶεÄÀ´Ô´¡£from×Ó¾äºóÃæÊǰüº¬Ò»¸ö»ò¶à¸öµÄ±í´ïʽ(ÓɶººÅ·Ö¿ª)£¬ÆäÖеıí´ïʽ¿ÉΪµ¥Ò»±íÃû³Æ¡¢Òѱ£´æµÄ²éѯ»òÓÉ inner join¡¢left join »ò right join µÃµ½µÄ¸´ºÏ½á¹û¡£Èç¹û±í»ò²éѯ´æ´¢ÔÚÍⲿÊý¾Ý¿â£¬ÔÚin ×Ó¾äÖ®ºóÖ¸Ã÷ÆäÍêÕû·¾¶¡£
Àý£ºÏÂÁÐsqlÓï¾ä·µ»ØËùÓÐÓж¨µ¥µÄ¿Í»§£º
select orderid,customer.customerid
from orders customers
where orders.customerid=customers.customeersid

2 all¡¢distinct¡¢distinctrow¡¢topν´Ê
(1) all ·µ»ØÂú×ãsqlÓï¾äÌõ¼þµÄËùÓмǼ¡£Èç¹ûûÓÐÖ¸Ã÷Õâ¸öν´Ê£¬Ä¬ÈÏΪall¡£
Àý£ºselect all firstname,lastname
from employees
(2) distinct Èç¹ûÓжà¸ö¼Ç¼µÄÑ¡Ôñ×ֶεÄÊý¾ÝÏàͬ£¬Ö»·µ»ØÒ»¸ö¡£
(3) distinctrow Èç¹ûÓÐÖØ¸´µÄ¼Ç¼£¬Ö»·µ»ØÒ»¸ö
(4) topÏÔʾ²éѯͷβÈô¸É¼Ç¼¡£Ò²¿É·µ»Ø¼Ç¼µÄ°Ù·Ö±È£¬ÕâÊÇÒªÓà top n percent×Ӿ䣨ÆäÖÐn ±íʾ°Ù·Ö±È£©
Àý£º·µ»Ø5%¶¨»õ¶î×î´óµÄ¶¨µ¥
select top 5 percent*
from [ order details]
order by unitprice*quantity*(1-discount) desc

3 Óà as ×Ó¾äΪ×Ö¶ÎÈ¡±ðÃû
Èç¹ûÏëΪ·µ»ØµÄÁÐȡһ¸öеıêÌ⣬»òÕߣ¬¾­¹ý¶Ô×ֶεļÆËã»ò×ܽáÖ®ºó£¬²úÉúÁËÒ»¸öеÄÖµ£¬Ï£Íû°ÑËü·Åµ½Ò»¸öеÄÁÐÀïÏÔʾ£¬ÔòÓÃas±£Áô¡£
Àý£º·µ»Øfirstname×Ö¶ÎÈ¡±ðÃûΪnickname
select firstname as nickname ,lastname ,city
from employees
Àý£º·µ»ØÐµÄÒ»ÁÐÏÔʾ¿â´æ¼ÛÖµ
select productname ,unitprice ,unitsinstock ,unitprice*unitsinstock as valueinstock
from products


¶þ .where ×Ó¾äÖ¸¶¨²éѯÌõ¼þ

1 ±È½ÏÔËËã·û
±È½ÏÔËËã·û º¬Òå
= µÈÓÚ
> ´óÓÚ
< СÓÚ
>= ´óÓÚµÈÓÚ
<= СÓÚµÈÓÚ
<> ²»µÈÓÚ
!> ²»´óÓÚ
!< ²»Ð¡ÓÚ
Àý£º·µ»Ø96Äê1ÔµĶ¨µ¥
select orderid, customerid, orderdate
from orders
where orderdate>#1/1/96# and orderdate<#1/30/96#
×¢Ò⣺
mcirosoft jet sql ÖУ¬ÈÕÆÚÓá®#¡¯¶¨½ç¡£ÈÕÆÚÒ²¿ÉÒÔÓÃdatevalue()º¯ÊýÀ´´úÌæ¡£ÔڱȽÏ×Ö·ûÐ͵ÄÊý¾Ýʱ£¬Òª¼ÓÉϵ¥ÒýºÅ¡¯¡¯£¬Î²¿Õ¸ñÔڱȽÏÖб»ºöÂÔ¡£
Àý£º
where orderdate>#96-1-1#
Ò²¿ÉÒÔ±íʾΪ£º
where orderdate>datevalue(¡®1/1/96¡¯)
ʹÓà not ±í´ïʽÇó·´¡£
Àý£º²é¿´96Äê1ÔÂ1ÈÕÒÔºóµÄ¶¨µ¥
where not orderdate<=#1/1/96#

2 ·¶Î§£¨between ºÍ not between£©
between ¡­and¡­ÔËËã·ûÖ¸¶¨ÁËÒªËÑË÷µÄÒ»¸ö±ÕÇø¼ä¡£
Àý£º·µ»Ø96Äê1Ôµ½96Äê2ÔµĶ¨µ¥¡£
where orderdate between #1/1/96# and #2/1/96#

3 ÁÐ±í£¨in £¬not in£©
in ÔËËã·ûÓÃÀ´Æ¥ÅäÁбíÖеÄÈκÎÒ»¸öÖµ¡£in×Ó¾ä¿ÉÒÔ´úÌæÓÃor×Ó¾äÁ¬½ÓµÄÒ»Á¬´®µÄÌõ¼þ¡£
Àý£ºÒªÕÒ³öסÔÚ london¡¢paris»òberlinµÄËùÓпͻ§
select customerid, companyname, contactname, city
from customers
where city in(¡®london¡¯,¡¯ paris¡¯,¡¯ berlin¡¯)

4 ģʽƥÅä(like)
likeÔËËã·û¼ìÑéÒ»¸ö°üº¬×Ö·û´®Êý¾ÝµÄ×Ö¶ÎÖµÊÇ·ñÆ¥ÅäÒ»Ö¸¶¨Ä£Ê½¡£
likeÔËËã·ûÀïʹÓõÄͨÅä·û
ͨÅä·û º¬Òå
£¿ ÈκÎÒ»¸öµ¥Ò»µÄ×Ö·û
* ÈÎÒⳤ¶ÈµÄ×Ö·û
# 0~9Ö®¼äµÄµ¥Ò»Êý×Ö
[×Ö·ûÁбí] ÔÚ×Ö·ûÁбíÀïµÄÈÎÒ»Öµ
[£¡×Ö·ûÁбí] ²»ÔÚ×Ö·ûÁбíÀïµÄÈÎÒ»Öµ
- Ö¸¶¨×Ö·û·¶Î§£¬Á½±ßµÄÖµ·Ö±ðΪÆäÉÏÏÂÏÞ
Àý£º·µ»ØÓÊÕþ±àÂëÔÚ£¨171£©555-0000µ½£¨171£©555-9999Ö®¼äµÄ¿Í»§
select customerid ,companyname,city,phone
from customers
where phone like ¡®(171)555-####¡¯
likeÔËËã·ûµÄһЩÑùʽ¼°º¬Òå
Ñùʽ º¬Òå ²»·ûºÏ
like ¡®a*¡¯ aºó¸úÈÎÒⳤ¶ÈµÄ×Ö·û bc,c255
like¡¯5[*]¡¯ 5*5 555
like¡¯5?5¡¯ 5Óë5Ö®¼äÓÐÈÎÒâÒ»¸ö×Ö·û 55,5wer5
like¡¯5##5¡¯ 5235£¬5005 5kd5,5346
like¡¯[a-z]¡¯ a-z¼äµÄÈÎÒâÒ»¸ö×Ö·û 5,%
like¡¯[!0-9]¡¯ ·Ç0-9¼äµÄÈÎÒâÒ»¸ö×Ö·û 0,1
like¡¯[[]¡¯ 1,*

Èý .ÓÃorder by×Ó¾äÅÅÐò½á¹û
order×Ӿ䰴һ¸ö»ò¶à¸ö£¨×î¶à16¸ö£©×Ö¶ÎÅÅÐò²éѯ½á¹û£¬¿ÉÒÔÊÇÉýÐò£¨asc£©Ò²¿ÉÒÔÊǽµÐò£¨desc£©£¬È±Ê¡ÊÇÉýÐò¡£order×Ó¾äͨ³£·ÅÔÚsqlÓï¾äµÄ×îºó¡£
order×Ó¾äÖж¨ÒåÁ˶à¸ö×ֶΣ¬Ôò°´ÕÕ×ֶεÄÏȺó˳ÐòÅÅÐò¡£
Àý£º
select productname,unitprice, unitinstock
from products
order by unitinstock desc , unitprice desc, productname
order by ×Ó¾äÖпÉÒÔÓÃ×Ö¶ÎÔÚÑ¡ÔñÁбíÖеÄλÖúŴúÌæ×Ö¶ÎÃû£¬¿ÉÒÔ»ìºÏ×Ö¶ÎÃûºÍλÖúš£
Àý£ºÏÂÃæµÄÓï¾ä²úÉúÓëÉÏÁÐÏàͬµÄЧ¹û¡£
select productname,unitprice, unitinstock
from products
order by 1 desc , 2 desc,3

ËÄ .ÔËÓÃÁ¬½Ó¹ØÏµÊµÏÖ¶à±í²éѯ
Àý£ºÕÒ³öͬһ¸ö³ÇÊÐÖй©Ó¦É̺Ϳͻ§µÄÃû×Ö
select customers.companyname, suppliers.company.name
from customers, suppliers
where customers.city=suppliers.city
Àý£ºÕÒ³ö²úÆ·¿â´æÁ¿´óÓÚͬһÖÖ²úÆ·µÄ¶¨µ¥µÄÊýÁ¿µÄ²úÆ·ºÍ¶¨µ¥
select productname,orderid, unitinstock, quantity
from products, [order deails]
where product.productid=[order details].productid
and unitsinstock>quantity
ÁíÒ»ÖÖ·½·¨ÊÇÓà microsof jet sql ¶ÀÓÐµÄ jnner join
Óï·¨£º
from table1 inner join table2
on table1.field1 comparision table2.field2
ÆäÖÐcomparision ¾ÍÊÇÇ°Ãæwhere×Ó¾äÓõ½µÄ±È½ÏÔËËã·û¡£
select firstname,lastname,orderid,customerid,orderdate
from employees
inner join orders on employees.employeeid=orders.employeeid
×¢Ò⣺
inner join²»ÄÜÁ¬½Ómemo ole object single double Êý¾ÝÀàÐÍ×ֶΡ£
ÔÚÒ»¸öjoinÓï¾äÖÐÁ¬½Ó¶à¸öon×Ó¾ä
Óï·¨£º
select fields
from table1 inner join table2
on table1.field1 compopr table2.field1 and
on table1.field2 compopr table2.field2 or
on table1.field3 compopr table2.field3
Ò²¿ÉÒÔ
select fields
from table1 inner join
£¨table2 inner join [( ]table3
[inner joer] [( ]tablex[inner join]
on table1.field1 compopr table2.field1
on table1.field2 compopr table2.field2
on table1.field3 compopr table2.field3
ÍⲿÁ¬½Ó·µ»Ø¸ü¶à¼Ç¼£¬ÔÚ½á¹ûÖб£Áô²»Æ¥ÅäµÄ¼Ç¼£¬²»¹Ü´æ²»´æÔÚÂú×ãÌõ¼þµÄ¼Ç¼¶¼Òª·µ»ØÁíÒ»²àµÄËùÓмǼ¡£
from table [left|right]join table2
on table1.field1comparision table.field2
ÓÃ×óÁ¬½ÓÀ´½¨Á¢ÍⲿÁ¬½Ó£¬ÔÚ±í´ïʽµÄ×ó±ßµÄ±í»áÏÔʾÆäËùÓеÄÊý¾Ý
Àý£º²»¹ÜÓÐûÓж¨»õÁ¿£¬·µ»ØËùÓÐÉÌÆ·
select productname ,orderid
from products
left join orders on products.prductsid=orders.productid
ÓÒÁ¬½ÓÓë×óÁ¬½ÓµÄ²î±ðÔÚÓÚ£º²»¹Ü×ó²à±íÀïÓÐûÓÐÆ¥ÅäµÄ¼Ç¼£¬Ëü¶¼´Ó×ó²à±íÖзµ»ØËùÓмǼ¡£
Àý£ºÈç¹ûÏëÁ˽â¿Í»§µÄÐÅÏ¢£¬²¢Í³¼Æ¸÷¸öµØÇøµÄ¿Í»§·Ö²¼£¬Õâʱ¿ÉÒÔÓÃÒ»¸öÓÒÁ¬½Ó£¬¼´Ê¹Ä³¸öµØÇøÃ»Óпͻ§£¬Ò²Òª·µ»Ø¿Í»§ÐÅÏ¢¡£
¿ÕÖµ²»»áÏ໥ƥÅ䣬¿ÉÒÔͨ¹ýÍâÁ¬½Ó²ÅÄܲâÊÔ±»Á¬½ÓµÄij¸ö±íµÄ×Ö¶ÎÊÇ·ñÓпÕÖµ¡£
select *
from talbe1
left join table2 on table1.a=table2.c

1 Á¬½Ó²éѯÖÐʹÓÃiifº¯ÊýʵÏÖÒÔ0ÖµÏÔʾ¿ÕÖµ
iif±í´ïʽ£º iif(isnull(amount,0,amout)
Àý£ºÎÞÂÛ¶¨»õ´óÓÚ»òСÓÚ£¤50£¬¶¼Òª·µ»ØÒ»¸ö±êÖ¾¡£
iif([amount]>50,?big order?,?small order?)

Îå. ·Ö×éºÍ×ܽá²éѯ½á¹û
ÔÚsqlµÄÓï·¨Àgroup byºÍhaving×Ó¾äÓÃÀ´¶ÔÊý¾Ý½øÐлã×Ü¡£group by×Ó¾äÖ¸Ã÷Á˰´ÕÕÄö×Ö¶ÎÀ´·Ö×飬¶ø½«¼Ç¼·Ö×éºó£¬ÓÃhaving×Ó¾ä¹ýÂËÕâЩ¼Ç¼¡£
group by ×Ó¾äµÄÓï·¨
select fidldlist
from table
where criteria
[group by groupfieldlist [having groupcriteria]]
×¢£ºmicrosoft jetÊý¾Ý¿â jet ²»ÄܶԱ¸×¢»òole¶ÔÏó×ֶηÖ×é¡£
group by×Ö¶ÎÖеÄnullÖµÒÔ±¸·Ö×鵫ÊDz»Äܱ»Ê¡ÂÔ¡£
ÔÚÈκÎsqlºÏ¼Æº¯ÊýÖв»¼ÆËãnullÖµ¡£
group by×Ó¾äºó×î¶à¿ÉÒÔ´øÓÐÊ®¸ö×ֶΣ¬ÅÅÐòÓÅÏȼ¶°´´Ó×óµ½ÓÒµÄ˳ÐòÅÅÁС£
Àý£ºÔÚ¡®wa¡¯µØÇøµÄ¹ÍÔ±±íÖа´Í·ÏηÖ×éºó£¬ÕÒ³ö¾ßÓÐͬµÈÍ·ÏεĹÍÔ±ÊýÄ¿´óÓÚ1È˵ÄËùÓÐÍ·ÏΡ£
select title ,count(title) as total
from employees
where region = ¡®wa¡¯
group by title
having count(title)>1
jet sql Öеľۻýº¯Êý
¾Û¼¯º¯Êý ÒâÒå
sum ( ) ÇóºÍ
avg ( ) ƽ¾ùÖµ
count ( ) ±í´ïʽÖмǼµÄÊýÄ¿
count (* ) ¼ÆËã¼Ç¼µÄÊýÄ¿
max ×î´óÖµ
min ×îСֵ
var ·½²î
stdev ±ê×¼Îó²î
first µÚÒ»¸öÖµ
last ×îºóÒ»¸öÖµ

Áù. ÓÃparametersÉùÃ÷´´½¨²ÎÊý²éѯ
parametersÉùÃ÷µÄÓï·¨:
parameters name datatype[,name datatype[, ¡­]]
ÆäÖÐname ÊDzÎÊýµÄ±êÖ¾·û,¿ÉÒÔͨ¹ý±êÖ¾·ûÒýÓòÎÊý.
datatype˵Ã÷²ÎÊýµÄÊý¾ÝÀàÐÍ.
ʹÓÃʱҪ°Ñparameters ÉùÃ÷ÖÃÓÚÈÎºÎÆäËûÓï¾ä֮ǰ.
Àý:
parameters[low price] currency,[beginning date]datatime
select orderid ,orderamount
from orders
where orderamount>[low price]
and orderdate>=[beginning date]

Æß. ¹¦Äܲéѯ
Ëùν¹¦Äܲéѯ,ʵ¼ÊÉÏÊÇÒ»ÖÖ²Ù×÷²éѯ,Ëü¿ÉÒÔ¶ÔÊý¾Ý¿â½øÐпìËÙ¸ßЧµÄ²Ù×÷.ËüÒÔÑ¡Ôñ²éѯΪĿµÄ,ÌôÑ¡³ö·ûºÏÌõ¼þµÄÊý¾Ý,ÔÙ¶ÔÊý¾Ý½øÐÐÅú´¦Àí.¹¦Äܲéѯ°üÀ¨¸üвéѯ,ɾ³ý²éѯ,Ìí¼Ó²éѯ,ºÍÉú³É±í²éѯ.

1 ¸üвéѯ
update×Ó¾ä¿ÉÒÔͬʱ¸ü¸ÄÒ»¸ö»ò¶à¸ö±íÖеÄÊý¾Ý.ËüÒ²¿ÉÒÔͬʱ¸ü¸Ä¶à¸ö×ֶεÄÖµ.
¸üвéѯÓï·¨:
update ±íÃû
set ÐÂÖµ
where ×¼Ôò
Àý:Ó¢¹ú¿Í»§µÄ¶¨»õÁ¿Ôö¼Ó5%,»õÔËÁ¿Ôö¼Ó3%
update oeders
set orderamount = orderamount *1.1
freight = freight*1.03
where shipcountry = ¡®uk¡¯

2 ɾ³ý²éѯ
delete×Ó¾ä¿ÉÒÔʹÓû§É¾³ý´óÁ¿µÄ¹ýʱµÄ»òÈßÓÚµÄÊý¾Ý.
×¢:ɾ³ý²éѯµÄ¶ÔÏóÊÇÕû¸ö¼Ç¼.
delete×Ó¾äµÄÓï·¨:
delete [±íÃû.*]
from À´Ô´±í
where ×¼Ôò
Àý: Ҫɾ³ýËùÓÐ94ÄêǰµÄ¶¨µ¥
delete *
from orders
where orderdata<#94-1-1#

3 ×·¼Ó²éѯ
insert×Ó¾ä¿ÉÒÔ½«Ò»¸ö»òÒ»×é¼Ç¼׷¼Óµ½Ò»¸ö»ò¶à¸ö±íµÄβ²¿.
into ×Ó¾äÖ¸¶¨½ÓÊÜмǼµÄ±í
values ¹Ø¼ü×ÖÖ¸¶¨Ð¼Ç¼Ëù°üº¬µÄÊý¾ÝÖµ.
insert ×Ó¾äµÄÓï·¨:
insetr into Ä¿µÄ±í»ò²éѯ(×Ö¶Î1,×Ö¶Î2,¡­)
values(ÊýÖµ1,ÊýÖµ2,¡­)
Àý:Ôö¼ÓÒ»¸ö¿Í»§
insert into employees(firstname,lastname,title)
values(¡®harry¡¯,¡¯washington¡¯,¡¯trainee¡¯)

4 Éú³É±í²éѯ
¿ÉÒÔÒ»´ÎÐԵذÑËùÓÐÂú×ãÌõ¼þµÄ¼Ç¼¿½±´µ½Ò»ÕÅбíÖÐ.ͨ³£ÖÆ×÷¼Ç¼µÄ±¸·Ý»ò¸±±¾»ò×÷Ϊ±¨±íµÄ»ù´¡.
select into×Ó¾äÓÃÀ´´´½¨Éú³É±í²éѯÓï·¨:
select ×Ö¶Î1,×Ö¶Î2,¡­
into бí[in ÍⲿÊý¾Ý¿â]
from À´Ô´Êý¾Ý¿â
where ×¼Ôò
Àý:Ϊ¶¨µ¥ÖÆ×÷Ò»¸ö´æµµ±¸·Ý
select *
into ordersarchive
from orders

°Ë. ÁªºÏ²éѯ
unionÔËËã¿ÉÒ԰Ѷà¸ö²éѯµÄ½á¹ûºÏ²¢µ½Ò»¸ö½á¹û¼¯ÀïÏÔʾ.
unionÔËËãµÄÒ»°ãÓï·¨:
[±í]²éѯ1 union [all]²éѯ2 union ¡­
Àý:·µ»Ø°ÍÎ÷ËùÓй©¸øÉ̺Ϳͻ§µÄÃû×ֺͳÇÊÐ
select companyname,city
from suppliers
where country = ¡®brazil¡¯
union
select companyname,city
from customers
where country = ¡®brazil¡¯
×¢:
ȱʡµÄÇé¿öÏÂ,union×Ӿ䲻·µ»ØÖظ´µÄ¼Ç¼.Èç¹ûÏëÏÔʾËùÓмǼ,¿ÉÒÔ¼ÓallÑ¡Ïî
unionÔËËãÒªÇó²éѯ¾ßÓÐÏàͬÊýÄ¿µÄ×Ö¶Î.µ«ÊÇ,×Ö¶ÎÊý¾ÝÀàÐͲ»±ØÏàͬ.
ÿһ¸ö²éѯ²ÎÊýÖпÉÒÔʹÓÃgroup by ×Ó¾ä »ò having ×Ӿ佸ÐзÖ×é.ÒªÏëÒÔÖ¸¶¨µÄ˳ÐòÀ´ÏÔʾ·µ»ØµÄÊý¾Ý,¿ÉÒÔÔÚ×îºóÒ»¸ö²éѯµÄβ²¿Ê¹ÓÃoreer by×Ó¾ä.je2v#sqC!hkqk09.Z[ ´ËÎÄתÌùÓÚÎÒµÄÑ§Ï°ÍøÍøÂç±à³ÌÊý¾Ý¿â»ù´¡ http://www.Gzu521.com]je2v#sqC!hkqk09.Z

¾Å. ½»²æ²éѯ
½»²æ²éѯ¿ÉÒÔ¶ÔÊý¾Ý½øÐÐ×ܺÍ,ƽ¾ù,¼ÆÊý»òÆäËû×ܺͼÆËã·¨µÄ¼ÆËã,ÕâЩÊý¾Ýͨ¹ýÁ½ÖÖÐÅÏ¢½øÐзÖ×é:Ò»¸öÏÔʾÔÚ±íµÄ×ó²¿,ÁíÒ»¸öÏÔʾÔÚ±íµÄ¶¥²¿.
microsoft jet sql ÓÃtransfromÓï¾ä´´½¨½»²æ±í²éѯÓï·¨:
transform aggfunction
select Óï¾ä
group by ×Ó¾ä
pivot pivotfield[in(value1 [,value2[,¡­]]) ]
aggfounctionÖ¸sql¾Û»ýº¯Êý,
selectÓï¾äÑ¡Ôñ×÷Ϊ±êÌâµÄµÄ×Ö¶Î,
group by ·Ö×é
˵Ã÷£º
pivotfield ÔÚ²éѯ½á¹û¼¯Öд´½¨ÁбêÌâʱÓõÄ×ֶλò±í´ïʽ,ÓÿÉÑ¡µÄin×Ó¾äÏÞÖÆËüµÄȡֵ.
value´ú±í´´½¨ÁбêÌâµÄ¹Ì¶¨Öµ.
Àý:ÏÔʾÔÚ1996ÄêÀïÿһ¼¾¶ÈÿһλԱ¹¤Ëù½ÓµÄ¶¨µ¥µÄÊýÄ¿:
transform count(orderid)
select firstname&¡¯¡¯&lastname as fullname
from employees inner join orders
on employees.employeeid = orders.employeeid
where datepart(¡°yyyy¡±,orderdate)= ¡®1996¡¯
group by firstname&¡¯¡¯&lastname
order by firstname&¡¯¡¯&lastname
povot datepart(¡°q¡±,orderdate)&¡¯¼¾¶È¡¯

Ê® .×Ó²éѯ
×Ó²éѯ¿ÉÒÔÀí½âΪ Ìײéѯ.×Ó²éѯÊÇÒ»¸öselectÓï¾ä.

1 ±í´ïʽµÄÖµÓë×Ó²éѯ·µ»ØµÄµ¥Ò»Öµ×ö±È½Ï
Óï·¨:
±í´ïʽ comparision [any|all|some](×Ó²éѯ)
˵Ã÷£º
anyºÍsomeν´ÊÊÇͬÒå´Ê,Óë±È½ÏÔËËã·û(=,<,>,<>,<=,>=)Ò»ÆðʹÓÃ.·µ»ØÒ»¸ö²¼¶ûÖµtrue»òfalse.anyµÄÒâ˼ÊÇ,±í´ïʽÓë×Ó²éѯ·µ»ØµÄһϵÁеÄÖµÖðÒ»±È½Ï,Ö»ÒªÆäÖеÄÒ»´Î±È½Ï²úÉútrue½á¹û,any²âÊԵķµ»Ø trueÖµ(¼Èwhere×Ó¾äµÄ½á¹û),¶ÔÓ¦Óڸñí´ïʽµÄµ±Ç°¼Ç¼½«½øÈëÖ÷²éѯµÄ½á¹ûÖÐ.all²âÊÔÔòÒªÇó±í´ïʽÓë×Ó²éѯ·µ»ØµÄһϵÁеÄÖµµÄ±È½Ï¶¼²úÉútrue½á¹û,²Å»Ø·µ»ØtrueÖµ.
Àý:Ö÷²éѯ·µ»Øµ¥¼Û±ÈÈκÎÒ»¸öÕÛ¿Û´óÓÚµÈÓÚ25%µÄ²úÆ·µÄµ¥¼ÛÒª¸ßµÄËùÓвúÆ·
select * from products
where unitprice>any
(select unitprice from[order details] where discount>0.25)

2 ¼ì²é±í´ïʽµÄÖµÊÇ·ñÆ¥Åä×Ó²éѯ·µ»ØµÄÒ»×éÖµµÄij¸öÖµ
Óï·¨:
[not]in(×Ó²éѯ)
Àý:·µ»Ø¿â´æ¼ÛÖµ´óÓÚµÈÓÚ1000µÄ²úÆ·.
select productname from products
where productid in
(select prdoctid from [order details]
where unitprice*quantity>= 1000)

3¼ì²â×Ó²éѯÊÇ·ñ·µ»ØÈκμǼ
Óï·¨:
[not]exists (×Ó²éѯ)
Àý:ÓÃexists¼ìË÷Ó¢¹úµÄ¿Í»§
select companyname,contactname
from orders
where exists
(select *
from customers
where country = ¡®uk¡¯ and
customers.customerid= orders.customerid)

ÔðÈα༭£ºgzu521

ÍøÂç±à³Ì·ÖÀà
ASP½Ì³Ì
.Net½Ì³Ì
Java½Ì³Ì
PHP½Ì³Ì
Êý¾Ý¿â»ù´¡
ACCESS½Ì³Ì
SQL Server½Ì³Ì
MySQL½Ì³Ì
Oracle½Ì³Ì
·ÖÀàÍÆ¼öÐÅÏ¢
¸ü¶à...
´óÀà×îÐÂÎÄÕÂ
¸ü¶à...