IF OBJECT_ID(N'Member')IS NOT NULL DROP TABLE Member
CREATE TABLE Member
(
MID CHAR(10) NOT NULL PRIMARY KEY,
MName CHAR(50) NOT NULL
)
GO
EXEC sp_addextendedproperty N'MS_Description', N'学生表', 'SCHEMA', N'dbo', 'TABLE', N'Member', NUll,NUll
EXEC sp_addextendedproperty N'MS_Description', N'学生号', 'SCHEMA', N'dbo', 'TABLE', N'Member', 'COLUMN', N'MID'
EXEC sp_addextendedproperty N'MS_Description', N'姓名', 'SCHEMA', N'dbo', 'TABLE', N'Member', 'COLUMN', N'MName'
IF OBJECT_ID(N'Course')IS NOT NULL DROP TABLE Course
CREATE TABLE Course
(
FID CHAR(10) NOT NULL PRIMARY KEY,
FName CHAR(50) NOT NULL
)
GO
EXEC sp_addextendedproperty N'MS_Description', N'课程表', 'SCHEMA', N'dbo', 'TABLE', N'Course', NUll,NUll
EXEC sp_addextendedproperty N'MS_Description', N'课程号', 'SCHEMA', N'dbo', 'TABLE', N'Course', 'COLUMN', N'FID'
EXEC sp_addextendedproperty N'MS_Description', N'课程名', 'SCHEMA', N'dbo', 'TABLE', N'Course', 'COLUMN', N'FName'
IF OBJECT_ID(N'Score')IS NOT NULL DROP TABLE Score
CREATE TABLE Score
(
SID INT IDENTITY(1,1)NOT NULL PRIMARY KEY,
FID CHAR(10) NOT NULL FOREIGN KEY REFERENCES dbo.Course(FID),
MID CHAR(10) NOT NULL FOREIGN KEY REFERENCES dbo.Member(MID),
Score INT NOT NULL DEFAULT 0
)
GO
EXEC sp_addextendedproperty N'MS_Description', N'成绩表', 'SCHEMA', N'dbo', 'TABLE', N'Score', NUll,NUll
EXEC sp_addextendedproperty N'MS_Description', N'课程号', 'SCHEMA', N'dbo', 'TABLE', N'Score', 'COLUMN', N'FID'
EXEC sp_addextendedproperty N'MS_Description', N'学生号', 'SCHEMA', N'dbo', 'TABLE', N'Score', 'COLUMN', N'MID'
EXEC sp_addextendedproperty N'MS_Description', N'成绩', 'SCHEMA', N'dbo', 'TABLE', N'Score', 'COLUMN', N'Score'
GO
SELECT c.FName,m.MName,s.Score
FROM Score s
INNER JOIN dbo.Course c ON c.FID = s.FID
INNER JOIN dbo.Member m ON m.MID = s.MID
WHERE c.FName IN('语文','历史','数学','英语')
ORDER BY c.FName,m.MName