IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)數(shù)據(jù)庫(kù)MSSQL → 分享一些不錯(cuò)的sql語(yǔ)句

分享一些不錯(cuò)的sql語(yǔ)句

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

1、說(shuō)明:復(fù)制表(只復(fù)制結(jié)構(gòu),源表名:a   新表名:b)   (access可用)
法一:select   *   into   b   from   a   where   1 <> 1
法二:select   top   0   *   into   b   from   a

2、說(shuō)明:拷貝表(拷貝數(shù)據(jù),源表名:a   目標(biāo)表名:b)   (Access可用)
insert   into   b(a,   b,   c)   select   d,e,f   from   b;

3、說(shuō)明:跨數(shù)據(jù)庫(kù)之間表的拷貝(具體數(shù)據(jù)使用絕對(duì)路徑)   (Access可用)
insert   into   b(a,   b,   c)   select   d,e,f   from   b   in   ‘具體數(shù)據(jù)庫(kù)’   where   條件
例子:..from   b   in   ' "&Server.MapPath( ". ")& "\data.mdb "   & " '   where..

4、說(shuō)明:子查詢(表名1:a   表名2:b)
select   a,b,c   from   a   where   a   IN   (select   d   from   b   )   或者:   select   a,b,c   from   a   where   a   IN   (1,2,3)

5、說(shuō)明:顯示文章、提交人和最后回復(fù)時(shí)間
select   a.title,a.username,b.adddate   from   table   a,(select   max(adddate)   adddate   from   table   where   table.title=a.title)   b

6、說(shuō)明:外連接查詢(表名1:a   表名2:b)
select   a.a,   a.b,   a.c,   b.c,   b.d,   b.f   from   a   LEFT   OUT   JOIN   b   ON   a.a   =   b.c

7、說(shuō)明:在線視圖查詢(表名1:a   )
select   *   from   (SELECT   a,b,c   FROM   a)   T   where   t.a   >   1;

8、說(shuō)明:between的用法,between限制查詢數(shù)據(jù)范圍時(shí)包括了邊界值,not   between不包括
select   *   from   table1   where   time   between   time1   and   time2
select   a,b,c,   from   table1   where   a   not   between   數(shù)值1   and   數(shù)值2

9、說(shuō)明:in   的使用方法
select   *   from   table1   where   a   [not]   in   (‘值1’,’值2’,’值4’,’值6’)

10、說(shuō)明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒(méi)有的信息  
delete   from   table1   where   not   exists   (   select   *   from   table2   where   table1.field1=table2.field1   )

11、說(shuō)明:四表聯(lián)查問(wèn)題:
select   *   from   a   left   inner   join   b   on   a.a=b.b   right   inner   join   c   on   a.a=c.c   inner   join   d   on   a.a=d.d   where   .....

12、說(shuō)明:日程安排提前五分鐘提醒  
SQL:   select   *   from   日程安排   where   datediff( 'minute ',f開(kāi)始時(shí)間,getdate())> 5

13、說(shuō)明:一條sql   語(yǔ)句搞定數(shù)據(jù)庫(kù)分頁(yè)
select   top   10   b.*   from   (select   top   20   主鍵字段,排序字段   from   表名   order   by   排序字段   desc)   a,表名   b   where   b.主鍵字段   =   a.主鍵字段   order   by   a.排序字段

14、說(shuō)明:前10條記錄
select   top   10   *   form   table1   where   范圍

15、說(shuō)明:選擇在每一組b值相同的數(shù)據(jù)中對(duì)應(yīng)的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產(chǎn)品分析,按科目成績(jī)排名,等等.)
select   a,b,c   from   tablename   ta   where   a=(select   max(a)   from   tablename   tb   where   tb.b=ta.b)

16、說(shuō)明:包括所有在   TableA   中但不在   TableB和TableC   中的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表
(select   a   from   tableA   )   except   (select   a   from   tableB)   except   (select   a   from   tableC)

17、說(shuō)明:隨機(jī)取出10條數(shù)據(jù)
select   top   10   *   from   tablename   order   by   newid()

18、說(shuō)明:隨機(jī)選擇記錄
select   newid()

19、說(shuō)明:刪除重復(fù)記錄
Delete   from   tablename   where   id   not   in   (select   max(id)   from   tablename   group   by   col1,col2,...)

20、說(shuō)明:列出數(shù)據(jù)庫(kù)里所有的表名
select   name   from   sysobjects   where   type= 'U '  

21、說(shuō)明:列出表里的所有的
select   name   from   syscolumns   where   id=object_id( 'TableName ')

22、說(shuō)明:列示type、vender、pcs字段,以type字段排列,case可以方便地實(shí)現(xiàn)多重選擇,類似select   中的case。
select   type,sum(case   vender   when   'A '   then   pcs   else   0   end),sum(case   vender   when   'C '   then   pcs   else   0   end),sum(case   vender   when   'B '   then   pcs   else   0   end)   FROM   tablename   group   by   type
顯示結(jié)果:
type   vender   pcs
電腦   A   1
電腦   A   1
光盤   B   2
光盤   A   2
手機(jī)   B   3
手機(jī)   C   3

23、說(shuō)明:初始化表table1
TRUNCATE   TABLE   table1

24、說(shuō)明:選擇從10到15的記錄
select   top   5   *   from   (select   top   15   *   from   table   order   by   id   asc)   table_別名   order   by   id   desc 

關(guān)鍵詞標(biāo)簽:sql語(yǔ)句

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟sql server系統(tǒng)表?yè)p壞的解決方法sql server系統(tǒng)表?yè)p壞的解決方法MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶Access、SQL Server、Oracle常見(jiàn)應(yīng)用的區(qū)別Access、SQL Server、Oracle常見(jiàn)應(yīng)用的區(qū)別

相關(guān)下載

人氣排行 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù)SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù)配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改SQL Server 2005降級(jí)到2000的正確操作步驟修改Sql Server唯一約束教程淺談JSP JDBC來(lái)連接SQL Server 2005的方法SQL Server創(chuàng)建表語(yǔ)句介紹