實驗四
T-SQL****語言基本流程控制語句
一.實驗目的:
\1. 掌握T-SQL語言的基本語法格式。
\2. 掌握T-SQL語言的運算符和表達式。
\3. 掌握T-SQL語言的基本流程控制語句。
二.實驗內容:(所有題寫到實驗報告中)
1.按要求寫出命令
1)定義局部變量a、b、c、s1、s2並賦初值5、4、4.0、‘abc’、‘def’,分別求a與b的積、商、餘數、按位與、按位或、按位異或,a與c的商,s1與s2的串連。(注意比較a與b的商和a與c的商有何不同。)
2)輸出當前SQL Server的版本信息,輸出執行上一條T-SQL語句所返回的錯誤代碼。
3)對student表,將某個學號的值賦給某個變量,然後查詢學號爲該變量的學生的姓名,將查到的姓名賦給另一個變量並輸出其值。
4)對score表,將某個課程號賦給某個變量,然後查詢課程號爲該變量的選課人數和最高成績分別賦給另外兩個變量並輸出其值。
2.編寫程序
1)輸出每位教師的教師號、姓名和職稱級別。(職稱級別:教授和副教授爲高級職稱;講師爲中級職稱,助教爲初級職稱)
2)按優、良、中、及格、不及格五級成績等級輸出學生的姓名、課程名和成績等級,輸出結果先按課程號升序排再按姓名升序排。
3)求出男女生的平均成績,若男生平均成績與女生平均成績的比率高於1.3,則顯示“男生比女生成績高多了”;若男生平均成績與女生平均成績的比率在0.8~1.3之間,則顯示“男生與女生成績差不多”;若男生平均成績與女生平均成績的比率低於0.8,則顯示“女生比男生成績高多了”。
4)創建如下表,然後向表中插入20條記錄,前兩列使用默認值,第三列插入從當前日期開始的連續的20天的日期(使用循環語句插入,可參考304頁q函數)。
create table xsrq
(spno char(4) default('3741'),
spname char(20) default('蘋果MacBook Pro '),
scrq date)
2-1
use stuinfo
SELECT tno AS '教師號', tname AS '姓名', (CASE WHEN prof = '教授' THEN '高級' WHEN prof = '副教授' THEN '高級' WHEN prof = '講師' THEN '中級' WHEN prof = '助教' THEN '初級' END) AS '職稱' FROM teacher;
2-2
USE stuinfo
select sname as '姓名',cname as '課程名',(case when degree>=90 then '優秀' when degree>=80 then '良' when degree>=70 then '中' when degree>=60 then '及格' when degree<60 then '不及格' end) as '成績等級' from student,course,score where student.sno=score.sno and course.cno=score.cno order by score.cno
2-3
[圖片上傳失敗...(image-8783d1-1545054442691)]
2-4
use stuinfo
DECLARE @i int;
set @i=0
while @i<20
BEGIN
insert into xsrq(spno, spname, scrq) values (default, default, (select getdate()+@i))
set @i=@i +1
END