sql serverÊÓͼµÄ×÷ÓÃ
ÊÓͼ¿ÉÒÔ±»¿´³ÉÊÇÐéÄâ±í»ò´æ´¢²éѯ¡£¿Éͨ¹ýÊÓͼ·ÃÎʵÄÊý¾Ý²»×÷Ϊ¶ÀÌØµÄ¶ÔÏó´æ´¢ÔÚÊý¾Ý¿âÄÚ¡£Êý¾Ý¿âÄÚ´æ´¢µÄÊÇ SELECT Óï¾ä¡£SELECT Óï¾äµÄ½á¹û¼¯¹¹³ÉÊÓͼËù·µ»ØµÄÐéÄâ±í¡£Óû§¿ÉÒÔÓÃÒýÓñíʱËùʹÓõķ½·¨£¬ÔÚ Transact-SQL Óï¾äÖÐͨ¹ýÒýÓÃÊÓͼÃû³ÆÀ´Ê¹ÓÃÐéÄâ±í¡£Ê¹ÓÃÊÓͼ¿ÉÒÔʵÏÖÏÂÁÐÈÎÒ»»òËùÓй¦ÄÜ£º
½«Óû§ÏÞ¶¨ÔÚ±íÖеÄÌØ¶¨ÐÐÉÏ¡£
ÀýÈ磬ֻÔÊÐí¹ÍÔ±¿´¼û¹¤×÷¸ú×Ù±íÄڼǼÆä¹¤×÷µÄÐС£
½«Óû§ÏÞ¶¨ÔÚÌØ¶¨ÁÐÉÏ¡£
ÀýÈ磬¶ÔÓÚÄÇЩ²»¸ºÔð´¦Àí¹¤×ʵ¥µÄ¹ÍÔ±£¬Ö»ÔÊÐíËûÃÇ¿´¼û¹ÍÔ±±íÖеÄÐÕÃûÁС¢°ì¹«ÊÒÁС¢¹¤×÷µç»°ÁкͲ¿ÃÅÁУ¬¶ø²»ÄÜ¿´¼ûÈκΰüº¬¹¤×ÊÐÅÏ¢»ò¸öÈËÐÅÏ¢µÄÁС£
½«¶à¸ö±íÖеÄÁÐÁª½ÓÆðÀ´£¬Ê¹ËüÃÇ¿´ÆðÀ´ÏóÒ»¸ö±í¡£
¾ÛºÏÐÅÏ¢¶ø·ÇÌṩÏêϸÐÅÏ¢¡£
ÀýÈ磬ÏÔʾһ¸öÁеĺͣ¬»òÁеÄ×î´óÖµºÍ×îСֵ¡£
ͨ¹ý¶¨Òå SELECT Óï¾äÒÔ¼ìË÷½«ÔÚÊÓͼÖÐÏÔʾµÄÊý¾ÝÀ´´´½¨ÊÓͼ¡£SELECT Óï¾äÒýÓõÄÊý¾Ý±í³ÆÎªÊÓͼµÄ»ù±í¡£ÔÚÏÂÀýÖУ¬pubs Êý¾Ý¿âÖÐµÄ titleview ÊÇÒ»¸öÊÓͼ£¬¸ÃÊÓͼѡÔñÈý¸ö»ù±íÖеÄÊý¾ÝÀ´ÏÔʾ°üº¬³£ÓÃÊý¾ÝµÄÐéÄâ±í£º
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id
from authors AS a
JOIN titleauthor AS ta ON (a.au_id = ta.au_id)
JOIN titles AS t ON (t.title_id = ta.title_id)
Ö®ºó£¬¿ÉÒÔÓÃÒýÓñíʱËùʹÓõķ½·¨ÔÚÓï¾äÖÐÒýÓà titleview¡£
SELECT *
from titleview
Ò»¸öÊÓͼ¿ÉÒÔÒýÓÃÁíÒ»¸öÊÓͼ¡£ÀýÈ磬titleview ÏÔʾµÄÐÅÏ¢¶Ô¹ÜÀíÈËÔ±ºÜÓÐÓ㬵«¹«Ë¾Í¨³£Ö»ÔÚ¼¾¶È»òÄê¶È²ÆÎñ±¨±íÖвŹ«²¼±¾Äê¶È½ØÖ¹µ½ÏÖÔڵIJÆÕþÊý×Ö¡£¿ÉÒÔ½¨Á¢Ò»¸öÊÓͼ£¬ÔÚÆäÖаüº¬³ý au_ord ºÍ ytd_sales ÍâµÄËùÓÐ titleview ÁС£Ê¹ÓÃÕâ¸öÐÂÊÓͼ£¬¿Í»§¿ÉÒÔ»ñµÃÒÑÉÏÊеÄÊé¼®ÁÐ±í¶ø²»»á¿´µ½²ÆÎñÐÅÏ¢£º
CREATE VIEW Cust_titleview
AS
SELECT title, au_lname, price, pub_id
from titleview
ÊÓͼ¿ÉÓÃÓÚÔÚ¶à¸öÊý¾Ý¿â»ò Microsoft® SQL Server™ 2000 ʵÀý¼ä¶ÔÊý¾Ý½øÐзÖÇø¡£·ÖÇøÊÓͼ¿ÉÓÃÓÚÔÚÕû¸ö·þÎñÆ÷×éÄÚ·Ö²¼Êý¾Ý¿â´¦Àí¡£·þÎñÆ÷×é¾ßÓÐÓë·þÎñÆ÷¾Û¼¯ÏàͬµÄÐÔÄÜÓŵ㣬²¢¿ÉÓÃÓÚÖ§³Ö×î´óµÄ Web Õ¾µã»ò¹«Ë¾Êý¾ÝÖÐÐĵĴ¦ÀíÐèÇó¡£Ôʼ±í±»Ï¸·ÖΪ¶à¸ö³ÉÔ±±í£¬Ã¿¸ö³ÉÔ±±í°üº¬Ôʼ±íµÄÐÐ×Ó¼¯¡£Ã¿¸ö³ÉÔ±±í¿É·ÅÖÃÔÚ²»Í¬·þÎñÆ÷µÄÊý¾Ý¿âÖС£Ã¿¸ö·þÎñÆ÷Ò²¿ÉµÃµ½·ÖÇøÊÓͼ¡£·ÖÇøÊÓͼʹÓà Transact-SQL UNION ÔËËã·û£¬½«ÔÚËùÓгÉÔ±±íÉÏÑ¡ÔñµÄ½á¹ûºÏ²¢Îªµ¥¸ö½á¹û¼¯£¬¸Ã½á¹û¼¯µÄÐÐΪÓëÕû¸öÔʼ±íµÄ¸´±¾ÍêȫһÑù¡£ÀýÈçÔÚÈý¸
Ïà¹ØÎĵµ£º
·½·¨Ò»£º
select distinct name from tablename
·½·¨¶þ£º
select min(fid),name,sex from tablename group by name
×ܼƣº
select distinct name from tablename ´ò¿ªÖظ´¼Ç¼µÄµ¥¸ö×Ö¶Î
select * from tablename where fid in(Select min(fid) from tablename group by name)´ò¿ªÖظ´¼Ç¼µÄËùÓÐ×Ö¶ÎÖµ
select ......
¹ØÓÚSQL×¢Èë(SQL Injection)µÄ·½·¨Æäʵ¶¼ºÜÆÕ±éºÍʹÓ㬹éÄÉÆðÀ´Ò²ºÜ·½±ã¡£Ò»°ã“ºÚ¿Í”ʹÓõÄÊÇÏֳɵŤ¾ßÈç“WEBÅÔ×¢¡¢°¢DÍøÂ繤¾ß°ü¡¢½ÌÖ÷XXX”µÈÕâЩ¶¼ÊǼ¯³ÉÁË
һЩ³£ÓõÄsql×¢ÈëÓï¾ä¡£ÏÂÃæÎÒ½«½éÉÜÈçºÎʹÓÃÊÖ¹¤×¢ÈëMYSQL,MSSQLÊý¾Ý¿â.
Ò»°ã©¶´²ú ......
ΪÁËÑо¿Ò»ÏÂϵͳÔÚºǫ́¶¼¸ÉÁËʲô£¬µ±È»ÊÇÎÒÔÚ´úÂëÀïûÕÒµ½µÄÇé¿öÏ£¬Ñо¿ÁËÒ»ÏÂtrace£¬½á¹ûÓÐÒ»¶¨µÄ°ïÖú¡£oracleÖв»Ïñsql serverÖÐÄÇÑùÖ±½ÓÌṩͼÏñ»¯µÄ¹¤¾ß£¬ËùÒÔ»¹ÊǵÃ×Ô¼º¶¯ÊÖÀ´×ö£¬¹éÄÉÁËһϣ¬²½ÖèÈçÏ£º
²éѯsession£º
SQL> select sid, serial#, username from v$session where username='XXX';//ÕÒ³öÄãÒª¸ú ......
--»ù´¡Á˽⣺
1) select distinct name from table --´ò¿ªÖظ´¼Ç¼µÄµ¥¸ö×Ö¶Î
2) select * from table where fid in(Select min(fid) from table group by name)--´ò¿ªÖظ´¼Ç¼µÄËùÓÐ×Ö¶ÎÖµ
3) select * from table where name in(select name from table group by name having count(name)=1)--´ò¿ªÖظ´ÈÎÒâ´ÎÊýµ ......
×î½üѧϰ linq to sql ¸Ð¾õ»¹ÊÇ¿ÉÒԵ쬷½±ã¿ì½Ý£¬ÒÔǰÎÊÊÇÒÔΪ²»ºÃÓ㬲»ÏëÓ㬵«ÊǽñÌìÓÃÁËһϸоõ»¹ÊDz»´íµÄ£¬ ȷʵÊǿ죬µ«ÊÇÎÒÓÖÔÚÏë
Èç¹û³ö´íÁËÔõô°ì£¬ÕâÑùÒ»¸öÀàÀï·ÅÄÇô¶àµÄÎļþÊÇÓе㲻ºÃ£¬ÔÙ˵ÁË linq to sql µÍ²ã²»ÖªµÀÔõôʵÏֵ쬻¹ÊÇûÓÐ×Ô¼ºÐ´µÄ·ÃÎʸоõÊæ·þµãºÇºÇ£¡£¡£¡
Èç¹ûÊÇ¿ìËÙ¿ª·¢ÓÃ&nb ......