常用SQL語句集合

2022-03-12 04:36:14 字數 2743 閱讀 3215

1、說明:複製表(只複製結構,源表名:a 新錶名:b) (access可用)

法一:select * into b from a where 1 <>1

法二:select top 0 * into b from a

2、說明:拷貝表(拷貝資料,源表名:a 目標表名:b) (access可用)

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

4、說明:子查詢(表名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、說明:顯示文章、提交人和最後回覆時間

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

6、說明:外連線查詢(表名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

8、說明:between的用法,between限制查詢資料範圍時包括了邊界值,not between不包括

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 數值1 and 數值2

9、說明:in 的使用方法

select * from table1 where a [not] in (『值1』,』值2』,』值4』,』值6』)

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

delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

11、說明:四表聯查問題:

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

13、說明:一條sql 語句搞定資料庫分頁

select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段

14、說明:前10條記錄

select top 10 * form table1 where 範圍

15、說明:選擇在每一組b值相同的資料中對應的a最大的記錄的所有資訊(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)

select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

16、說明:包括所有在 tablea 中但不在 tableb和tablec 中的行並消除所有重複行而派生出乙個結果表

(select a from tablea ) except (select a from tableb) except (select a from tablec)

17、說明:隨機取出10條資料

select top 10 * from tablename order by newid()

18、說明:隨機選擇記錄

select newid()

19、說明:刪除重覆記錄

delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

20、說明:列出資料庫裡所有的表名

select name from sysobjects where type='u'

21、說明:列出表裡的所有的

select name from syscolumns where id=object_id('tablename')

22、說明:列示type、vender、pcs欄位,以type欄位排列,case可以方便地實現多重選擇,類似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

顯示結果:

type vender pcs

電腦 a 1

電腦 a 1

光碟 b 2

光碟 a 2

手機 b 3

手機 c 3

23、說明:初始化表table1

truncate table table1

24、說明:選擇從10到15的記錄

select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc

SQL語句集合

記錄下平時寫的稍微複雜點的sql 說明 a b是一對多關係 乙個a有多個b 查詢a中已有b的且狀態不是11020403的a資料 select from a where id not in select id from b where cp status 11020403 group by id an...

sql語句集合

新增注釋 給資料庫表新增注釋 comment on table 表名 is 注釋 給表字段新增注釋 comment on column 表名.欄位名 is 注釋 修改表結構 增加字段 alter table 使用者名稱 如果需要 表名 add 欄位名 資料型別 修改字段型別 alter table ...

SQL 語句集合

where 子句 操作符 描述 等於 不等於 where 子句 大於 小於 大於等於 小於等於 between 在某個範圍內 like 搜尋某種模式 備註 在某些版本的 sql 中,操作符 可以寫為 sql 使用單引號來環繞文字值 大部分資料庫系統也接受雙引號 如果是數值,請不要使用引號。例如 如果...