´Ó¡¾¸÷´óÈí¼þ¹«Ë¾±ÊÊÔѹÖáÌ⡿ѧϰSQLÓï¾ä
´Ó²©¿ÍÔ°Öп´µ½Ò»ÆªÎÄÕ£¬½éÉÜ´óÈí¼þ¹«Ë¾ÃæÊÔʱ³£³£»á³öµÄÁ½µÀSQLÌ⣨¼û¸½Â¼£©¡£
ÎÒ¾õµÃÊÜÒæºÜ¶à£¬ÔÚ´Ë֮ǰ£¬ÎÒÒ»Ö±¾õµÃ£¬SQL2008ËÆºõÌṩÁËÕâ·½ÃæµÄÖ§³Ö£¬µ«¸üµÍµÄ°æ±¾£¬°üÀ¨2005£¬·ÇÓαê×ö²»³öÀ´£¨Ë®Æ½¹»²Ë£©¡£×ܽáÐĵÃÈçÏ£º
1¡¢ Ç¿´óµÄgroup by
1
select stdname,
2
isnull(sum(
case
stdsubject when
'
»¯Ñ§
'
then Result end),
0
) [»¯Ñ§],
3
isnull(sum(
case
stdsubject when
'
Êýѧ
'
then Result end),
0
) [Êýѧ],
4
isnull(sum(
case
stdsubject when
'
ÎïÀí
'
then Result end),
0
) [ÎïÀí],
5
isnull(sum(
case
stdsubject when
'
ÓïÎÄ
'
then Result end),
0
) [ÓïÎÄ]
6
from #student
7
group by stdname
ÔÚÕâÀgroup byÓësum +
case½áºÏ£¬¿ÉÒÔ½«±í1ÖеļǼ£¨ÐУ©±ä³É±í2µÄ×ֶΣ¨ÁУ©¡£SumÀïÃæÈç¹ûûÓÐcase£¬ÄÇô³öÀ´µÄÖµ£¬Ö»ÄÜÊÇÈ«²¿¿ÆÄ¿µÄ×ܺͣ¬ÓÃÁËcaseÒԺ󣬾Í
ÊÇij¿ÆµÄ³É¼¨£»È»ºóÕâÀïÓÃÁ˺ü¸¸ösum£¬Ã¿¸ö¿ÆÄ¿Ò»¸ösum£¬ÓÚÊDZí1Öб¾À´Ä³ÈËij¿ÆÕ¼Ò»Ìõ¼Ç¼µÄ“ÐД¾Í±ä³ÉÁ˱í2ÀïijÈËÒ»Ìõ¼Ç¼£¬Ã¿¿Æ×öÒ»¸ö×Ö¶Î
ÁË¡£
ÕâÖÖÐÄ˼ÇÉÃîºÍ¶ÔÓï·¨µÄÊìÁ·ÔËÓÃÈÃÈË»÷½ÚÔÞ̾¡£
2¡¢ ÀûÓÃselect from (select from)µÄģʽÉú³ÉSQLÓï¾ä
1
declare @sql varchar(
4000
)
2
set
@sql
=
'
select stdname
'
3
select @sql
=
@sql
+
'
,isnull(sum(case stdsubject when
'''
+
stdsubject
+
'''
then Result end),0) [
'
+
stdsubject
+
'
]
'
4
from (select distinct stdsubject from #student)
as
a
5
select @sql
=
@sql
+
'
from #student group by stdname
'
6
print @sql
7
exec(@sql)
ΪÁË×Ô¶¯Ð´ÉÏËùÓеĿÆÄ¿£¬ÕâÀïÏȽ«¿ÆÄ¿ÐÅÏ¢ÌáÁ¶³öÀ´£º
4
from
Ïà¹ØÎĵµ£º
ºÜ¶àÈËÌØ±ðϲ»¶ÓÃÊÓͼ,µ«ÓеÄÈË´ÓÀ´²»ÓÃÊÓͼ.Õâ¶¼ÊÇÁ½ÖÖ²»Á¼µÄϰ¹ß. ÒªÃ÷È·ÊÓͼ¿ÉÒÔÍê³ÉµÄ¹¤×÷ÒÔ¼°Ê¹Óó¡ºÏ.
1.×èֹѡÔñ±£ÃÜÁÐ
2.½µµÍÓû§¶ÁÈ¡Êý¾Ý¿âÄÚÊý¾ÝµÄ¸´ÔÓÐÔ
3.ÔÚÊý¾Ý¿âÖÐÌí¼ÓË÷ÒýÒÔ¼ÓËÙ ......
´ÓÍøÂçÉÏ¿´µ½²»ÉÙ¹ØÓÚÊý¾Ý¿âÔ¶³Ì·ÃÎÊÅäÖõÄÎÄÕ£¬¸øÎҵĴóÌåÓ¡Ïó¾ÍÊÇÅäÖùý³Ì¸´ÔÓÈßÓ࣬Óв»ÉÙ»¹ÊÇ´íÎóµÄÅäÖÆ·½·¨£¬´ó¶àÊý¶¼ÈÃÈ˸оõ·Ñ½â£¬¼øÓÚ´Ë£¬ÎÒ×Ô¼º¸ù¾Ýʵ¼Ê²Ù×÷£¬Ð´ÁËÒ»¸öÊý¾Ý¿âÔ¶³Ì·ÃÎʵÄÅäÖ÷½·¨£¬Á¦Çó¼òµ¥ÓÐЧ¡£ÓжÔÏÂÃæÅäÖÃÓÐÒÉÎʵĿÉÒÔÁôÑÔ£¬ÎÒ½«×÷³ö»Ø´ð¡£
1. &nb ......
MYSQLÊý¾Ý¿âÖеij£ÓÃSQLÓï¾ä
1¡¢SELECT ²éѯÓï¾äºÍÌõ¼þÓï¾ä
SELECT ²éѯ×Ö¶Î from ±íÃû WHERE Ìõ¼þ
²éѯ×ֶΣº¿ÉÒÔʹÓÃͨÅä·û* ¡¢×Ö¶ÎÃû¡¢×ֶαðÃû
±íÃû£º Êý¾Ý¿â.±íÃû £¬±íÃû
³£ÓÃÌõ¼þ£º = µÈÓÚ ¡¢<>²»µÈÓÚ¡¢in °üº¬ ¡¢&nb ......
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE data ......
ΪÁË´¦Àí SQL Óï¾ä£¬ORACLE ±ØÐë·ÖÅäһƬ½ÐÉÏÏÂÎÄ( context area )µÄÇøÓòÀ´´¦ÀíËù±ØÐèµÄÐÅÏ¢£¬ÆäÖаüÀ¨Òª´¦ÀíµÄÐеÄÊýÄ¿£¬Ò»¸öÖ¸ÏòÓï¾ä±»·ÖÎöÒÔºóµÄ±íʾÐÎʽµÄÖ¸ÕëÒÔ¼°²éѯµÄ»î¶¯¼¯(active set)¡£
ÓαêÊÇÒ»¸öÖ¸ÏòÉÏÏÂÎĵľä±ú( handle)»òÖ¸Õ롣ͨ¹ýÓα꣬PL/SQL¿ÉÒÔ¿ØÖÆÉÏÏÂÎÄÇøºÍ´¦ÀíÓï¾äʱÉÏÏÂÎÄÇø»á·¢ÉúЩʲôÊÂÇ ......