1. 說明:復制表(只復制結(jié)構,源表名:a,新表名:b) SQL : select * into b from a where 1<>1; 2. 說明:拷貝表(拷貝數(shù)據(jù),源表名:a,目標表名:b) SQL : insert into b(a, b, c) select d, e, f from b; 3. 說明:顯示文章、提交人和最后回復時間 SQL : select a.title, a.username, b.adddate from table a,( select max (adddate) adddate from table where table .title=a.title) b 4. 說明:外連接查詢(表名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; 5. 說明:日程安排提前五分鐘提醒 SQL : select * from 日程安排 where datediff(’’ minute ’’, f開始時間, getdate())>5 6. 說明:兩張關聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息 SQL : delete from info where not exists ( select * from infobz where info.infid=infobz.infid );
1
.按姓氏筆畫排序:
?
Select ? * ? From ? TableName ? Order ? By ? CustomerName Collate Chinese_PRC_Stroke_ci_as ?
2 .分頁SQL語句 ?
select ? * ? from ( select ? (row_number() ? OVER ? ( ORDER ? BY ? tab.ID ? Desc )) ? as ? rownum,tab. * ? from ? 表名 ? As ? tab) ? As ? t ? where ? rownum ? between ? 起始位置 ? And ? 結(jié)束位置 ?
3 .獲取當前數(shù)據(jù)庫中的所有用戶表 ?
select ? * ? from ? sysobjects ? where ? xtype = ' U ' ? and ? category = 0 ?
4 .獲取某一個表的所有字段 ?
select ? name ? from ? syscolumns ? where ? id = object_id ( ' 表名 ' ) ?
5 .查看與某一個表相關的視圖、存儲過程、函數(shù) ?
select ? a. * ? from ? sysobjects a, syscomments b ? where ? a.id ? = ? b.id ? and ? b. text ? like ? ' %表名% ' ?
6 .查看當前數(shù)據(jù)庫中所有存儲過程 ?
select ? name ? as ? 存儲過程名稱 ? from ? sysobjects ? where ? xtype = ' P ' ?
7 .查詢用戶創(chuàng)建的所有數(shù)據(jù)庫 ?
select ? * ? from ? master..sysdatabases D ? where ? sid ? not ? in ( select ? sid ? from ? master..syslogins ? where ? name = ' sa ' ) ?
或者 ?
select ? dbid, name ? AS ? DB_NAME ? from ? master..sysdatabases ? where ? sid ? <> ? 0x01 ?
8 .查詢某一個表的字段和數(shù)據(jù)類型 ?
select ? column_name,data_type ? from ? information_schema.columns ?
where ? table_name ? = ? ' 表名 ' ?
9 .使用事務 ?
在使用一些對數(shù)據(jù)庫表的臨時的SQL語句操作時,可以采用SQL SERVER事務處理,防止對數(shù)據(jù)操作后發(fā)現(xiàn)誤操作問題 ?
開始事務 ?
Begin ? tran ?
? ? Insert ? Into ? TableName ? Values (…) ?
SQL語句操作不正常,則回滾事務。 ?
回滾事務 ?
Rollback ? tran ?
SQL語句操作正常,則提交事務,數(shù)據(jù)提交至數(shù)據(jù)庫。 ?
提交事務 ?
Commit ? tran ?
10 . 按全文匹配方式查詢 ?
字段名 ? LIKE ? N ' %[^a-zA-Z0-9]China[^a-zA-Z0-9]% ' ?
OR ? 字段名 ? LIKE ? N ' %[^a-zA-Z0-9]China ' ?
OR ? 字段名 ? LIKE ? N ' China[^a-zA-Z0-9]% ' ?
OR ? 字段名 ? LIKE ? N ' China ?
11.計算執(zhí)行SQL語句查詢時間 ?
declare @d datetime ?
set @d=getdate() ?
select * from SYS_ColumnProperties select [語句執(zhí)行花費時間(毫秒)]=datediff(ms,@d,getdate()) ?
12、說明:幾個高級查詢運算詞 ?
A: UNION 運算符 ?
UNION 運算符通過組合其他兩個結(jié)果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結(jié)果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。 ?
B: EXCEPT 運算符 ?
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。 ?
C: INTERSECT 運算符 ?
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。 ?
Select ? * ? From ? TableName ? Order ? By ? CustomerName Collate Chinese_PRC_Stroke_ci_as ?
2 .分頁SQL語句 ?
select ? * ? from ( select ? (row_number() ? OVER ? ( ORDER ? BY ? tab.ID ? Desc )) ? as ? rownum,tab. * ? from ? 表名 ? As ? tab) ? As ? t ? where ? rownum ? between ? 起始位置 ? And ? 結(jié)束位置 ?
3 .獲取當前數(shù)據(jù)庫中的所有用戶表 ?
select ? * ? from ? sysobjects ? where ? xtype = ' U ' ? and ? category = 0 ?
4 .獲取某一個表的所有字段 ?
select ? name ? from ? syscolumns ? where ? id = object_id ( ' 表名 ' ) ?
5 .查看與某一個表相關的視圖、存儲過程、函數(shù) ?
select ? a. * ? from ? sysobjects a, syscomments b ? where ? a.id ? = ? b.id ? and ? b. text ? like ? ' %表名% ' ?
6 .查看當前數(shù)據(jù)庫中所有存儲過程 ?
select ? name ? as ? 存儲過程名稱 ? from ? sysobjects ? where ? xtype = ' P ' ?
7 .查詢用戶創(chuàng)建的所有數(shù)據(jù)庫 ?
select ? * ? from ? master..sysdatabases D ? where ? sid ? not ? in ( select ? sid ? from ? master..syslogins ? where ? name = ' sa ' ) ?
或者 ?
select ? dbid, name ? AS ? DB_NAME ? from ? master..sysdatabases ? where ? sid ? <> ? 0x01 ?
8 .查詢某一個表的字段和數(shù)據(jù)類型 ?
select ? column_name,data_type ? from ? information_schema.columns ?
where ? table_name ? = ? ' 表名 ' ?
9 .使用事務 ?
在使用一些對數(shù)據(jù)庫表的臨時的SQL語句操作時,可以采用SQL SERVER事務處理,防止對數(shù)據(jù)操作后發(fā)現(xiàn)誤操作問題 ?
開始事務 ?
Begin ? tran ?
? ? Insert ? Into ? TableName ? Values (…) ?
SQL語句操作不正常,則回滾事務。 ?
回滾事務 ?
Rollback ? tran ?
SQL語句操作正常,則提交事務,數(shù)據(jù)提交至數(shù)據(jù)庫。 ?
提交事務 ?
Commit ? tran ?
10 . 按全文匹配方式查詢 ?
字段名 ? LIKE ? N ' %[^a-zA-Z0-9]China[^a-zA-Z0-9]% ' ?
OR ? 字段名 ? LIKE ? N ' %[^a-zA-Z0-9]China ' ?
OR ? 字段名 ? LIKE ? N ' China[^a-zA-Z0-9]% ' ?
OR ? 字段名 ? LIKE ? N ' China ?
11.計算執(zhí)行SQL語句查詢時間 ?
declare @d datetime ?
set @d=getdate() ?
select * from SYS_ColumnProperties select [語句執(zhí)行花費時間(毫秒)]=datediff(ms,@d,getdate()) ?
12、說明:幾個高級查詢運算詞 ?
A: UNION 運算符 ?
UNION 運算符通過組合其他兩個結(jié)果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結(jié)果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。 ?
B: EXCEPT 運算符 ?
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。 ?
C: INTERSECT 運算符 ?
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。 ?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
