干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
01
T-SQL案例整理
已知有一個表:該表的字段有:id,name,date,gradeid,email,表名為table_name,按要求實現下面內容。
1.插入一條記錄:
insert?into?table_name values?(1,'劉世豪','2017-10-21',1,'666@qq.com')2.將學號是1的學生姓名修改成張云飛
update?table_name set?name?= '張云飛'?where?id?=13.刪除編號為1的學生信息
delete?from?table_name where?id?= 14.查詢全部信息
select?* from?table_name5.查詢姓名是劉世豪的學生信息
select?* from?table_name where?name?='劉世豪'6.查詢姓名中姓孫的學生信息
select?* from?table_name where?name?like?'孫%'7.查詢姓名中包含華的
select?* from?table_name where?name?like?'%華%'8.按照年級編號升序排序
select?* from?table_name order?by?gradeid asc9.按照年級編號降序排序
select?* from?table_name order?by?gradeid desc10.查詢每個年級多少人
select?count(*) 人數,gradeid 年極?from?table_name group?by?gradeid11.查詢前20條信息
select?top 20?* from?table_name12.查詢百分之20的數據
select?top 20?percent?* from?table_name13.查詢沒有郵箱信息的學生
select?* from?table_name where?email is?null?or?email =''14.鏈接查詢所有信息
select??* from?table_name t ,grade g where?t.gradeid = g.gradeid15.鏈接查詢的第二種
select??* from?table_name t join?grade g on?t.gradeid = g.gradeid16.查詢每個年級的男女生人數
select?count(*) 人數,gradeid 年級,sex 性別 from?table_name group?by?gradeid,sex having?sex = '男'select?count(*) 人數,gradeid 年級,sex 性別 from?table_name group?by?gradeid,sex having?sex = '女'17.查詢年級總人數超過15的年級
select?count(*) 人數,GradeId 年級 from?table_name group?by?GradeId having?count(*)>1518.如果默認郵箱是2451999120@qq.com 插入一條記錄
insert?into?table_name values?(1,'劉世豪','2017-10-21',1,default);19.查詢每科最大的分數
select?max(StudentResult) 分數,subjectid 科目 from?result?group?by?subjectid20.查詢每科平均分數
select?avg(StudentResult) 分數,subjectid 科目 from?result?group?by?subjectid20.查詢每科最少的分數
select?min(StudentResult) 分數,subjectid 科目 from?result?group?by?subjectid20.查詢每個學生的總分數
select?StudentNo,sum(studentResult) from?result?group?by?StudentNo21.查詢第五頁的數據,每頁顯示3條記錄(oracle分頁)
select?a1.* from?(select?emp.*,rownum?rn from?emp where?rownum?<=5) a1 where?rn >=3;22.查詢第3頁的數據,每頁顯示4條(sqlserver分頁)
select?top 4?* from?grade where?gradeid not?in?(select?top (4*3)-1??gradeid from?grade)02
SQL中的函數整理
字符串函數
1.查詢m在My Jbns Course里面出現的位置??
SELECT?CHARINDEX('m','My Jbns Course')返回結果:1
2.查詢My Jbns Course的長度??
SELECT?len('My Jbns Course')返回結果:14?
?
3.把傳遞給他的字符串轉換成大寫??
SELECT?UPPER('my is father');返回結果:MY IS FATHER
4.清除字符左邊的空格??
SELECT?ltrim('? ? 你是誰 ')返回結果:你是誰? ? ? ;
5.清除字符右邊的空格??
SELECT?rtrim(' 你是誰 ')返回結果:? ??你是誰;
6.從字符串右邊返回指定的字符,4代表截取幾個字符??
SELECT?RIGHT('買賣提5吐爾松',4)返回結果:5吐爾松
7.替換一個字符串中的字符:把(我)替換成(你)??
SELECT?replace('我是誰','我','你')返回結果:你是誰
8.在一個字符串中,刪除指定長度的字符,并在改位置插入一個新字符,1是從第一個開始,5是截取5個??
SELECT?stuff('abcdefg',1,5,'明朝的皇帝是誰?')返回結果:明朝的皇帝是誰?fg
日期函數
1.取得系統當前的日期??
SELECT?getdate()返回結果:2020-12-19 19:34:01.583
2.將指定的數值添加到指定的日期部分后的日期(yy:年,mm:月,dd:日,5代表加的數字)??
SELECT?DATEADD(yy,5,'01/01/2009')返回結果:2014-01-01 00:00:00.000
3.兩個日期中指定日期的間隔(yy:年,mm:月,dd:日,輸出一個整型)??
SELECT?DATEDIFF(yy,'2017-05-08','2019-05-04')返回結果:2
4.日期中指定日期部分的字符串形式(yy:年,mm:月,dd:日,輸出一個字符串:星期六)??
SELECT?datename(dw,'2015-05-09')返回結果:星期六
5.日期中指定日期部分的整數形式??
返回結果:9
數學函數?
?
1.返回0-1之間的隨機數float值??
SELECT?rand()返回結果:0.0274048832264181
2.取大于或等于指定數值、表達式的最小整數??
SELECT?ceiling(45.6)返回結果:46
3.取數值表達式的絕對值??
SELECT?abs(-8)返回結果:8
4.取小于或等于指定數值、表達式的最大整數??
SELECT?floor(32.8)返回結果:32
5.取數值表達式的冪值(5的2次方)??
SELECT?power(5,2)返回結果:25
6.取數值表達式四舍五入為指定的精度(2代表保留2位,其余的都是0)??
SELECT?round(3.1415926,2)返回結果:3.1400000
7.對于正數返回+1,對于負數返回-1,對于0則返回0??
SELECT?sign(-1)返回結果:-1
8.取浮點表達式的平方根??
SELECT?sqrt(9)系統函數??
1.用來轉變數據類型??
SELECT?CONVERT?(VARCHAR?(5),12345)返回結果:‘123456’
2.返回當前用戶的名字??
SELECT?CURRENT_USER返回結果:dbo
3.返回用于指定表達式的字節數??
SELECT?DATALENGTH?('中國A聯盟')返回結果:?9
4.返回當前用戶所登錄的計算機名字??
SELECT?HOST_NAME()返回結果:LAPTOP-MDTGDUL4
5.返回當前所登錄的用戶名稱??
SELECT?SYSTEM_USER返回結果:LAPTOP-MDTGDUL4\24519
6.從給定的用戶ID返回用戶名??
SELECT?USER_NAME(1)返回結果:dbo
往期精彩
這群學生也太酷了吧!原來這才是辯論賽的意義所在...
2020-12-19
計算機專業畢業后能做什么工作?
2020-12-18
多久沒有給家里打過電話了?
2020-12-17
mybatis環境搭建步驟(含配置文件代碼)
2020-12-16
上機不會做?在講臺上做做試試!
2020-12-15
mybatis的配置文件和映射文件
2020-12-14
點分享
點點贊
點在看
總結
以上是生活随笔為你收集整理的干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5家最佳专用服务器托管提供商-2022年
- 下一篇: 15的倍数有哪些 15的倍数怎么得出?