日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLServer2008 Transact_SQL语言基础实例

發布時間:2025/3/16 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLServer2008 Transact_SQL语言基础实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


--1. 打開數據庫教學管理,查詢計算機系的老師。
--declare @x varchar (10)
--set @x ='計算機系'
--select * from 教師表 ?where 系別 =@x?
--2.使用全局變量查看SQL Server的版本和當前所使用的SQL Server服務器名稱。
--select @@VERSION
--3.聲明三個局部變量SNAME,BIRTH,SCORE,并對它們賦值,然后將值顯示出來。
--declare @SNAME int
--declare @BIRTH int
--declare @SCORE int
--set @SNAME=1 print @SNAME
--set @SCORE =2 print @SCORE
--set @SCORE =3 print @SCORE
?
--4.聲明一個局部變量,把教師表的教師編號為‘95011’的教師姓名賦給局部變量,并打印出來。
--declare @a varchar (10)
--set ?@a =(select 姓名 from 教師表 ?where 教師編號 ='95011')
--print @a


--5.編寫程序判斷李俊熙是否已經在學生表中存在,如果存在,打印“李俊熙的記錄在數據庫中已經存在”,反之向學生表中插入記錄(2010071207,李俊熙,男,20,2010-9-21,黨員,福建)。
/*
declare @x varchar(20)
select @x=姓名 from 學生表 where 姓名 ='李俊熙'?
if(@x is not null)
print '李俊熙的記錄在數據庫中已經存在'
else
insert into 學生表 (學生編號,姓名 ,性別 ,年齡,入校日期,政治面貌,籍貫)
values ('2010071207','李俊熙','男',20,'2010-9-21','黨員','福建')
*/
--二、程序控制語句
--6. 編寫一段程序,要求打印出2010071101同學選修105課的成績,和相應的等級。注:90分以上優秀,80-89良好,70-79中等,60-69及格,60以下不及格。
/*
select 學生編號,課程編號,成績,
(
case?
when 成績>=90 then '優秀'
when 成績>=80and 成績<90 then '良好'
when 成績>=70and 成績<80 then '中等'
when ? 成績>=60and 成績<70 then '及格'
when 成績<60 then '不及格'?
end)等級
from 選課成績表 where 學生編號='2010071101'and 課程編號='105'




--第二種
declare @x int?
select @x=成績 from 選課成績表 where 學生編號='2010071101'and 課程編號='105'
if(@x>=90)
print cast(@x as char(3))+'優秀'--輸出結果一定要統一,同意要轉型
else
if(@x>=80and @x<90)
?print cast(@x as char(3)) +'良好'
else
if(@x>=70and @x<80)
print cast(@x as char(3))+'中等'
else
if(@x>=60and @x<70)
print cast(@x as char(3))+'及格'
else
print cast(@x as char(3))+'不及格'?
*/


--7. 編寫一段程序,要求不用count函數,計算每類職稱的教師人數。并且打印出來,格式如“教授人數:X人”。
/*
declare @x int ,@y int, @z int ,@w int?
set @x=0
set @y=0
set @z=0
set @w=0
declare @c char(10)
declare cj cursor for ?
select 職稱 from 教師表
--2.打開游標
open cj
fetch next from cj into @c
while @@FETCH_STATUS = 0
begin
if(@c='教授') set @x=@x+1
if(@c='副教授') set @y=@y+1
if(@c='講師') set @z=@z+1
if(@c='助教') set @w=@w+1
fetch next from cj into @c
end
print '教授人數:' +cast(@x as char(3))+'人'
print '副教授人數:'+cast(@y as char(3))+'人'
print '講師人數:' +cast(@z as char(3))+'人'
print '助教人數:' +cast(@x as char(3))+'人'
close cj
deallocate cj




第二種方法
select 職稱 ,
sum(case
when 職稱='教授' then 1
when 職稱='副教授' then 1
when 職稱='講師' then 1
when 職稱='助教' then 1
else 0
end)as 人數
from 教師表
group by 職稱?




*/


--8. 編寫程序計算1+2+...+100的值,打印出來。
/*
declare @x int
declare @sum int
set @sum=0?
set @x=0
while (@x<=100)
begin
set @sum=@sum+@x
set @x=@x+1
end
print @sum
*/
--9. 編寫程序要求循環十次產生不同隨機數,并打印出來,格式為“第X次產生隨機數:X”。
/*
declare @x int
declare @y int
set @x=1
while (@x<=10)
begin
set @y=round(RAND()*100,0)?
print '第'+ cast(@x as char(3))+'次產生隨機數:'+ cast(@y as char(3))
set @x=@x+1
end
*/
--三、函數
--10. 查看當天的日期,并格式化輸出。
--select DATEPART(YY,GETDATE()) 年,DATEPART(MM,GETDATE())月,DATEPART(dd,GETDATE())日,
--DATEPART(Hh,GETDATE())時,DATEPART(MI ,GETDATE())分,DATEPART(SS,GETDATE())秒
--11.球半徑2 米,高3米的圓柱體體積。
--select PI()*2*2*3
--12. 求字符串‘abcdefg’的長度。
--select LEN('abcdefg')
--13. 顯示學生表籍貫的前兩個字。
--select LEFT(籍貫,2)
--from 學生表
--14. 取字符串‘abcdefg’的第2個到第5個字母。
--select SUBSTRING('abcdefg',2,5)
--15. 計算2011年9月11日到今天以及多少天了。
--select DATEDIFF(DD,'2011-09-11',GETDATE())
--16. 創建一個計算圓柱體體積的函數。
create function dbo.v(@r float,@h float)
returns float
as
begin
return(PI()*@r*@r*@h)
end 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的SQLServer2008 Transact_SQL语言基础实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。