itu
gunakan tuan
pergi
-----------创建数据库------------
jika ada (pilih * dari sysdatabases di mana nama='stuDB')
jatuhkan database studB
membuat basis data studb
pada primer
(
nama='stuDB_data',
nama file='D:stuDB_data.mdf',
ukuran=3MB,
ukuran maksimal = 10mb,
pertumbuhan file=1mb
)
masuk
(
nama='stuDB_log',
namafile='D:stuDB_data.ldf',
ukuran=1MB,
pertumbuhan file=1mb
)
-----------创建数据库表------------
gunakan studDB
pergi
jika ada (pilih * dari sysobjects di mana nama='stuInfo')
letakkan tabel stuInfo
membuat tabel stuInfo
(
stuId int identitas(1,1) kunci utama bukan nol,
stuName varchar(20) bukan nol,
stuNo varchar(20) bukan nol,
stuSex char(6) bukan nol,
stuAge int bukan nol,
teks stuAddress nol
)
pergi
jika ada (pilih * dari sysobjects di mana nama='stuMarks')
jatuhkan tabel stuMarks
membuat tabel stuMarks
(
markId int identitas(1,1) kunci utama bukan nol,
ExamNo varchar(50) bukan null, --考号
stuNo char(6) bukan null,--学号
ujian tertulis int null,--笔试成绩
LabExam int null--机试成绩
)
pergi
--向学员信息表stuInfo插入数据--
MASUKKAN KE stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)VALUES('张秋丽','s25301','男',18,'北京海淀')
MASUKKAN KE stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('李斯文','s25303','女',22,'河南洛阳')
MASUKKAN KE stuInfo(stuName,stuNo,stuSex,stuAge) VALUES('李文才','s25302','男',31)
MASUKKAN KE stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('欧阳俊雄','s25304','男',28,'威武哈')
--向学员成绩表stuMarks插入数据--
MASUKKAN KE stuMarks(ExamNo,stuNo,writeExam,LabExam) VALUES('E2005070001','s25301',80,58)
MASUKKAN KE stuMarks(NoUjian,stuNo,Ujian tertulis) NILAI('E2005070002','s25302',50)
MASUKKAN KE stuMarks(ExamNo,stuNo,writeExam,LabExam) VALUES('E2005070003','s25303',97,82)
--查看数据--
pilih * dari stuInfo
pilih * dari stuMarks
/*=======查询数据练习=========*/
--1.查询两表的数据--
pilih * dari stuInfo
pilih * dari stuMarks
--2.查询男学员名单--
pilih * dari stuInfo dimana stuSex='男'
--3.查询笔试成绩优秀的学员情况(成绩在75~100之间)--
pilih * dari stumark tempat ujian tertulis antara 75 dan 100
--4.查询参加本次考试的学员成绩,包括学员姓名,笔试成绩,机试成绩--
pilih i.stuName,m.writeExam,m.LabExam dari stuInfo saat saya bergabung dengan stuMarks sebagai m di m.stuNo = i.stuNo
--5.统计笔试考试平均分和机试考试平均分--
pilih rata-rata(Ujian Tertulis) sebagai 笔试平均成绩,rata-rata(LabExam) sebagai 机试平均成绩 dari stuMarks
pilih rata-rata(Ujian Tertulis) 笔试平均成绩,rata-rata(LabExam) 机试平均成绩 dari stuMarks
--6.统计参加本次考试的学员人数
pilih hitungan (stuno) dari stumarks
--7.查询没有通过考试的人数(笔试或机试小于60分)--
pilih hitungan (stuno) dari stumark tempat Ujian tertulis <= 60 atau labexam<=60
pilih * dari stumark di mana ujian tertulis adalah nol atau labexam adalah nol --查询为全部参加考试的信息
--8.查询学员成绩,显示学号,笔试成绩,机试成绩,平均分--
pilih stuno sebagai 学号,ujian tertulis 笔试,labexam 机试,(Ujian tertulis+labexam)/2 平均成绩 dari stumarks
--9.排名次(按平均分从高到低排序),显示学号、平均分--
pilih stuno sebagai 学号,(Ujian tertulis+labexam)/2 平均成绩 dari stumark diurutkan berdasarkan (Ujian tertulis+labexam)/2 desc
pilih stuno sebagai 学号,(Ujian tertulis+labexam)/2 平均成绩 dari stumarks dipesan berdasarkan 平均成绩 desc
--10.排名次(按平均分从高到低排序),显示姓名,笔试成绩,机试成绩,平均分--
pilih i.stuno sebagai 学号,ujian tertulis 笔试,labexam 机试,(Ujian tertulis+labexam)/2 平均成绩
dari stumarks as m inner join stuinfo as i on m.stuno = i.stuno order by 平均成绩 desc
--Sql以直接查询列明
--11.根据平均分,显示前两名信息,包括姓名、笔试成绩、机试成绩、平均分--
pilih 2 i.stuno teratas sebagai 学号,ujian tertulis 笔试,labexam 机试,(Ujian tertulis+labexam)/2 平均成绩
dari stumarks as m inner join stuinfo as i on m.stuno = i.stuno order by 平均成绩 desc
/*=======修改数据练习========*/
--都提5分--
--100分封顶(加分后超过100分的,按100分计算)--
perbarui stumarks set ujian tertulis = ujian tertulis + 5
perbarui stumarks set ujian tertulis = 100 di mana ujian tertulis>100