一些常用的MSSQL的SQL語句供大家參考,希望對大家有所協助

來源:互聯網
上載者:User
  SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c  

一些常用的SQL語句供大家參考,希望對大家有所協助。

    說明:預存程序的使用,CREATE PROC 建立預存程序,SQL2000中用sp_xxx和xp_xxx預存程序;一般來說,sp_xxx是一般的預存程序,而xp_xxx是擴充的預存程序。使用這些系統預存程序時,一般使用USE MASTER然後在使用sp_xxx或者xp_xxx。

 

  說明:複製表(只複製結構,源表名:a 新表名:b)  

 

  

 SQL: select * into b from a where 1<>1 

  說明:拷貝表(拷貝資料,源表名:a 目標表名:b)  

 

 

 SQL: insert into b(a, b, c) select d,e,f from b; 

 

  說明:顯示文章、提交人和最後回複時間  

 

  

SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 

 

  說明:外串連查詢(表名1:a 表名2:b)  

 

  SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 

 

  說明:排程提前五分鐘提醒  

  

  SQL: select * from 排程 where datediff('minute',f開始時間,getdate())>5 

  

說明:兩張關聯表,刪除主表中已經在副表中沒有的資訊

 

  SQL:    

delete from info where not exists ( select * from infobz where info.infid=infobz.infid 

 

  說明:--

 

  SQL:   

 

  SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE

 

   FROM TABLE1,

 

   (SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE

 

   FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND

 

   FROM TABLE2

 

   WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,

 

   (SELECT NUM, UPD_DATE, STOCK_ONHAND

 

   FROM TABLE2

 

   WHERE TO_CHAR(UPD_DATE,'YYYY/MM') =

 

   TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') ¦¦ '/01','YYYY/MM/DD') - 1, 'YYYY/MM') Y,

 

   WHERE X.NUM = Y.NUM (+)

 

   AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND B

 

  WHERE A.NUM = B.NUM

 

  說明:--

 

  SQL:   

 

  select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名稱='"&strdepartmentname&"' and 專業名稱='"&strprofessionname&"' order by 性別,生源地,高考總成績

 

  說明:

 

  從資料庫中去一年的各單位電話費統計(電話費定額賀電化肥清單兩個表來源)

 

  

SQL:      SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) AS FRI,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) AS MAR,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) AS APR,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) AS MAY,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) AS JUL,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) AS AGU,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) AS OCT,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) AS NOV,     SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) AS DEC    FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration     FROM TELFEESTAND a, TELFEE b     WHERE a.tel = b.telfax) a    GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') 

 

  說明:四表聯查問題:  

 

  SQL: 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 .....

 

  說明:得到表中最小的未使用的ID號

 

  SQL: 

 

  SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1) THEN MIN(HandleID) + 1 ELSE 1 END) as HandleID

 

   FROM Handle

 

   WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.