實(shí)驗(yàn)四
T-SQL****語言基本流程控制語句
一.實(shí)驗(yàn)?zāi)康模?/strong>
\1. 掌握T-SQL語言的基本語法格式。
\2. 掌握T-SQL語言的運(yùn)算符和表達(dá)式。
\3. 掌握T-SQL語言的基本流程控制語句。
二.實(shí)驗(yàn)內(nèi)容:(所有題寫到實(shí)驗(yàn)報(bào)告中)
1.按要求寫出命令
1)定義局部變量a灭红、b、c赤屋、s1园骆、s2并賦初值5、4津滞、4.0铝侵、‘a(chǎn)bc’、‘def’触徐,分別求a與b的積咪鲜、商、余數(shù)撞鹉、按位與疟丙、按位或、按位異或鸟雏,a與c的商享郊,s1與s2的串連。(注意比較a與b的商和a與c的商有何不同孝鹊。)
2)輸出當(dāng)前SQL Server的版本信息炊琉,輸出執(zhí)行上一條T-SQL語句所返回的錯(cuò)誤代碼。
3)對(duì)student表又活,將某個(gè)學(xué)號(hào)的值賦給某個(gè)變量苔咪,然后查詢學(xué)號(hào)為該變量的學(xué)生的姓名,將查到的姓名賦給另一個(gè)變量并輸出其值柳骄。
4)對(duì)score表团赏,將某個(gè)課程號(hào)賦給某個(gè)變量,然后查詢課程號(hào)為該變量的選課人數(shù)和最高成績(jī)分別賦給另外兩個(gè)變量并輸出其值耐薯。
2.編寫程序
1)輸出每位教師的教師號(hào)舔清、姓名和職稱級(jí)別隘世。(職稱級(jí)別:教授和副教授為高級(jí)職稱;講師為中級(jí)職稱鸠踪,助教為初級(jí)職稱)
2)按優(yōu)丙者、良、中营密、及格械媒、不及格五級(jí)成績(jī)等級(jí)輸出學(xué)生的姓名、課程名和成績(jī)等級(jí)评汰,輸出結(jié)果先按課程號(hào)升序排再按姓名升序排纷捞。
3)求出男女生的平均成績(jī),若男生平均成績(jī)與女生平均成績(jī)的比率高于1.3被去,則顯示“男生比女生成績(jī)高多了”主儡;若男生平均成績(jī)與女生平均成績(jī)的比率在0.8~1.3之間,則顯示“男生與女生成績(jī)差不多”惨缆;若男生平均成績(jī)與女生平均成績(jī)的比率低于0.8糜值,則顯示“女生比男生成績(jī)高多了”。
4)創(chuàng)建如下表坯墨,然后向表中插入20條記錄寂汇,前兩列使用默認(rèn)值,第三列插入從當(dāng)前日期開始的連續(xù)的20天的日期(使用循環(huán)語句插入捣染,可參考304頁q函數(shù))骄瓣。
create table xsrq
(spno char(4) default('3741'),
spname char(20) default('蘋果MacBook Pro '),
scrq date)
2-1
use stuinfo
SELECT tno AS '教師號(hào)', tname AS '姓名', (CASE WHEN prof = '教授' THEN '高級(jí)' WHEN prof = '副教授' THEN '高級(jí)' WHEN prof = '講師' THEN '中級(jí)' WHEN prof = '助教' THEN '初級(jí)' END) AS '職稱' FROM teacher;
2-2
USE stuinfo
select sname as '姓名',cname as '課程名',(case when degree>=90 then '優(yōu)秀' when degree>=80 then '良' when degree>=70 then '中' when degree>=60 then '及格' when degree<60 then '不及格' end) as '成績(jī)等級(jí)' 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