代码
utiliser le maître
aller
-----------创建数据库------------
s'il existe (sélectionnez * dans les bases de données système où name='stuDB')
supprimer la base de données stuDB
créer une base de données stuDB
au primaire
(
nom='stuDB_data',
filename='D:stuDB_data.mdf',
taille = 3 Mo,
taille maximale = 10 Mo,
croissance du fichier = 1 Mo
)
connecter
(
nom='stuDB_log',
filename='D:stuDB_data.ldf',
taille = 1 Mo,
croissance du fichier = 1 Mo
)
-----------创建数据库表------------
utiliser stuDB
aller
s'il existe (sélectionnez * dans sysobjects où name='stuInfo')
déposer la table stuInfo
créer une table stuInfo
(
stuId int Identity(1,1) clé primaire non nulle,
stuName varchar(20) non nul,
stuNo varchar(20) non nul,
stuSex char(6) non nul,
stuAge int non nul,
texte stuAddress null
)
aller
s'il existe (sélectionnez * dans sysobjects où name='stuMarks')
déposer des stuMarks sur la table
créer une table stuMarks
(
MarksId int Identity (1,1) clé primaire non nulle,
ExamNo varchar(50) non nul, --考号
stuNo char(6) non nul,--学号
writtenExam int null,--笔试成绩
LabExam int null--机试成绩
)
aller
--向学员信息表stuInfo插入数据--
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)VALUES('张秋丽','s25301','男',18,'北京海淀')
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('李斯文','s25303','女',22,'河南洛阳')
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge) VALUES('李文才','s25302','男',31)
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('欧阳俊雄','s25304','男',28,'威武哈')
--向学员成绩表stuMarks插入数据--
INSÉRER DANS stuMarks(ExamNo,stuNo,writingExam,LabExam) VALUES('E2005070001','s25301',80,58)
INSÉRER DANS stuMarks(ExamNo,stuNo,writingExam) VALUES('E2005070002','s25302',50)
INSÉRER DANS stuMarks(ExamNo,stuNo,writingExam,LabExam) VALUES('E2005070003','s25303',97,82)
--查看数据--
sélectionnez * dans stuInfo
sélectionnez * dans stuMarks
/*=======查询数据练习=========*/
--1.查询两表的数据--
sélectionnez * dans stuInfo
sélectionnez * dans stuMarks
--2.查询男学员名单--
sélectionnez * dans stuInfo où stuSex='男'
--3.
sélectionnez * parmi les notes où l'examen est écrit entre 75 et 100
--4.
sélectionnez i.stuName, m.writingExam, m.LabExam depuis stuInfo lorsque je rejoins stuMarks en tant que m sur m.stuNo = i.stuNo
--5.
sélectionnez avg (writingExam) comme 笔试平均成绩,avg(LabExam) comme 机试平均成绩 de stuMarks
select avg(writingExam) 笔试平均成绩,avg(LabExam) 机试平均成绩 from stuMarks
--6.
sélectionnez le compte (stuno) à partir des stumarks
--7.
sélectionnez count(stuno) parmi les stumarks où writingExam <= 60 ou labexam<=60
sélectionnez * parmi les points où l'examen écrit est nul ou le labexam est nul
--8.
sélectionnez stuno comme 学号,writingExam 笔试,labexam 机试,(writingExam+labexam)/2 平均成绩 from stumarks
--9.
sélectionnez stuno comme 学号,(writingExam+labexam)/2 平均成绩 dans l'ordre des stumarks par (writingExam+labexam)/2 desc
sélectionnez stuno comme 学号,(writingExam+labexam)/2 平均成绩 dans l'ordre des stumarks par 平均成绩 desc
--10.
sélectionnez i.stuno comme 学号,writingExam 笔试,labexam 机试,(writingExam+labexam)/2 平均成绩
from stumarks as m inner join stuinfo as i on m.stuno = i.stuno order by 平均成绩 desc
--L'utilisation de SQL :直接查询列明
--11.
sélectionnez les 2 premiers i.stuno comme 学号,writingExam 笔试,labexam 机试,(writingExam+labexam)/2 平均成绩
from stumarks as m inner join stuinfo as i on m.stuno = i.stuno order by 平均成绩 desc
/*=======修改数据练习=========*/
--都提5分--
--100 dollars (100 dollars) (100 dollars) --
mettre à jour les stumarks définis writingExam = writingExam + 5
mettre à jour les stumarks définir writingExam = 100 où writingExam>100