精典SQLFAQ收藏

2021-04-17 03:00:00 字數 1941 閱讀 3192

在網上經常轉,常常看到有些人為了求得某些sql語句而焦頭爛額,現在我特別把自己

收藏的一些比較

精典的sql拿出來和大家分享一下

1.行列轉換--普通

假設有張學生成績表(cj)如下name   subject    result張三   語文       80張三   數學       90張三   物理       85李四   語文       85李四   數學       92李四   物理       82

想變成   姓名  語文  數學  物理張三  80    90    85李四  85    92    82

declare@sqlvarchar(4000)set@sql='selectname'select@sql=@sql+',sum(casesubjectwhen'''+subject+'''thenresultend)['+subject+']' from(selectdistinctsubjectfromcj)asaselect@sql=@sql+'fromtestgroupbyname'exec(@sql)

2.行列轉換--合併

有表a, idpid 1  1 1  2 1  3 2  1 2  2 3  1如何化成表b: idpid 1 1,2,3 2 1,2 3 1

建立乙個合併的函式createfunctionfmerg(@idint)returnsvarchar(8000)asbegindeclare@strvarchar(8000)set@str=''select@str=@str+','+cast(pidasvarchar)from表awhereid=@idset@str=right(@str,len(@str)-1)return(@str)endgo

--呼叫自定義函式得到結果selectdistinctid,dbo.fmerg(id)from表a

3.如何取得乙個資料表的所有列名

方法如下:先從systemobject系統表中取得資料表的systemid,然後再syscolumn表中取得該資料表的所有列名。sql語句如下:declare@objidint,@objnamechar(40)set@objname='tablename'select@objid=idfromsysobjectswhereid=object_id(@objname)select'column_name'=namefromsyscolumnswhereid=@objidorderbycolid

是不是太簡單了?呵呵不過經常用阿.

4.通過sql語句來更改使用者的密碼

修改別人的,需要sysadmin role   exec sp_password null, 'newpassword', 'user'

如果帳號為sa執行exec sp_password null, 'newpassword', sa 

5.怎麼判斷出乙個表的哪些欄位不允許為空?

select column_name from information_schema.columns where is_nullable='no' and table_name=tablename 

6.如何在裡找到含有相同欄位的表?a.查已知列名的情況select b.name as tablename,a.name as columnname from syscolumns   a inner join   sysobjects b   on a.id=b.id   and b.type='u'   and a.name='你的欄位名字' 

b.未知列名查所有在不同表出現過的列名select o.name as tablename,s1.name as columnname from syscolumns s1, sysobjects o where s1.id = o.id   and o.type = 'u'   and exists (       select 1 from syscolumns s2         where s1.name = s2.name         and s1.id <> s2.id       )1

精典sql語句

1.按姓氏筆畫排序 select from tablename order by customername collate chinese prc stroke ci as 2.資料庫加密 select encrypt 原始密碼 select pwdencrypt 原始密碼 select pwdco...

精典個性簽名

大師兄,你知道嗎?二師兄的肉現在比師傅的都貴了 我問乙個在北京工作了二十年的朋友 如果你死後,你的墓誌銘打算寫點啥?他說 我解決了住房問題 人生的最大遺憾莫過於錯誤地堅持了不該堅持的,輕易地放棄了不該放棄的 很久很久以前,謊言和真實在河邊洗澡,謊言先洗好,穿了真實的衣服離開,真實卻不肯穿謊言的衣服....

精典的古代情詩

感人的中國古代情詩,進來的都要頂一下.關關雎鳩,在河之洲。窈窕淑女,君子好逑。參差荇菜,左右流之。窈窕淑女,寤寐求之。求之不得,寤寐思服。悠哉悠哉,輾轉反側。參差荇菜,左右采之。窈窕淑女,琴瑟友之。參差荇菜,左右 之。窈窕淑女,鐘鼓樂之。春秋詩經 國風 中的一首 周南 關雎 上邪!我欲與君相知,長命...