日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

常用經(jīng)典SQL語句

 悟靜 2010-08-08

5.3  常用經(jīng)典SQL語句

本節(jié)將列出一些在平常開發(fā)過程中會(huì)用到的比較經(jīng)典的SQL語句,常常用于實(shí)現(xiàn)一些很特別的功能。

1.SQL插入語句得到自動(dòng)生成的遞增ID值

  1. insert into Table1(Name,des,num) values ('ltp','thisisbest',10);  
  2. select @@identity as 'Id' 

2.實(shí)現(xiàn)是1或0想顯示為男或女

  1. select name,Sex=  
  2.   case Sex   
  3.   when '1' then '男'   
  4.   when '0' then '女' 
  5.   end   
  6. from Tablename 
3.嵌套子查詢
  1. select a,b,c from Table1 where a IN (select a from Table2) 
4.顯示文章、提交人和最后回復(fù)時(shí)間
  1. select a.title,a.username,b.adddate   
  2. from tablename a,(select max(adddate) adddate from tablename where   
  3.         tablename.title=a.title) b 

5.隨機(jī)提取條記錄的例子

  1. SQL Server:Select Top 10 * From Tablename Order By NewID()   
  2. Access:Select Top 10 * From Tablename Order By Rnd(ID)    
  3.  
  4. Rnd(ID) 其中的ID是自動(dòng)編號(hào)字段,可以利用其他任何數(shù)值來完成,
    比如用姓名字段UserName)   
  5. Select Top 10 * From 表Order BY Rnd(Len(UserName))   
  6. MySql:Select * From 表Order By Rand() Limit 10 

6.在同一表內(nèi)找相同屬性的記錄

  1. select UserID from Accounts_Users  
  2. where UserName is not null 
  3. group by UserID  
  4. having count (*)>1 
7.查詢類別所有的產(chǎn)品對(duì)應(yīng)數(shù)據(jù)
  1. SELECT CategoryName,ProductName  
  2. FROM Categories LEFT JOIN Products   
  3. ON Categories.CategoryID = Products.CategoryID; 

8.按范圍查詢編號(hào)在2到5之間的用戶信息

  1. select * from UserValue  where UserID between 2 and 5 
9.日程安排提前5分鐘提醒
  1. Select * from TabSchedule where datediff(minute,getdate(),開始時(shí)間)<5 

10.得出某日期所在月份的最大天數(shù)

  1. SELECT DAY(DATEADD(dd, -DAY('2008-02-13'),DATEADD(mm, 1,
    '2008-02-13')))   
  2.         AS 'DayNumber' 

11.按姓氏筆畫排序

  1. Select * From TableName Order By CustomerName Collate 
    Chinese_PRC_Stroke_ci_as 

12.通配符的一些用法

  1. 1select * from tablename where column1 like '[A-M]%' 
  2. 這樣可以選擇出column字段中首字母在A-M之間的記錄  
  3. 2select * from tablename where column1 like '[ABC]%' 
  4. 這樣可以選擇出column字段中首字母是A或者B或者C的記錄  
  5. 3select * from tablename where column1 like '[A-CG]%' 
  6. 這樣可以選擇出column字段中首字母在A-C之間的或者是G的記錄  
  7. 4select * from tablename where column1 like '[^C]%' 
  8. 這樣可以選擇出column字段中首字母不是C的記錄  
  9. 單字符(關(guān)鍵字:like _):  
  10. 通過使用下滑線字符(_),可以匹配任意單個(gè)字符  
  11. select * from tablename where column1 like 'M_crosoft' 
  12. 匹配特殊字符:([ ] _ - %)  
  13. 把它們都放到[]中就行了,比如:  
  14. select * from tablename where column1 like '%[%]%' 

13.復(fù)制表結(jié)構(gòu)(只復(fù)制結(jié)構(gòu),源表名:a,目標(biāo)表名:b)

  1. select * into b from a where 1<>1   
  2. 或  
  3. select top 0 * into [b] from [a]  

14.復(fù)制表數(shù)據(jù)(復(fù)制數(shù)據(jù),源表名:a,目標(biāo)表名:b) 

  1. insert into b(Name,des,num) select Name,des,num from Table1; 
15.編輯一個(gè)列
  1. 增加列:  
  2. alter table Table1 add username varchar(30) not null default '' 
  3. 修改列:  
  4. alter table Table1 alter column username varchar(40)  
  5. 刪除列:   
  6. alter table Table1 drop column username 

16.修改時(shí)間字段的小時(shí)部分

--把所有時(shí)間2006-11-1的數(shù)據(jù) 23點(diǎn) 修改為 21點(diǎn)

  1. update Ad_Browse_20061101  
  2. set browsetime='2006-11-01 21'+  
  3. SUBSTRING(CONVERT(VARCHAR(30),browsetime,8),3,7)  
  4. where DATEPART(Hour,browsetime)=23 

 

【責(zé)任編輯:董書 TEL:(010)68476606】

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多