问题:--2.为方便高校课程管理,现建立一个数据库名为“选课管理”,该数据库中含有以下几张表:(建库20%,查询每题4%)CREATE DATABASE 选课管理ON( NAME = 选课管理1_DATA, FILENAME=D:\DATABASE\选课管理1_DATA.MDF, SIZE=10MB, MAXSIZE=100MB, FILEGROWTH=10MB)GO--学生表由学号、姓名、性别、年龄、系别等属性构成。USE 选课管理GOCREATE TABLE STUDENT( STUID VARCHAR(20) PRIMARY KEY, STUNAME VARCHAR(20) NOT NULL, STUSEX VARCHAR(6) NOT NULL, STUAGE INT NOT NULL, STUYARD VARCHAR(30))GOINSERT INTO STUDENT VALUES(100001,洪瑞祥,男,19,COMPUTER)INSERT INTO STUDENT VALUES(100002,刘翔,女,28,PE)--课程表由课程号、课程名、选修课号、学分、授课老师编号等属性构成。CREATE TABLE SUBJECT( SUBID VARCHAR(20) FOREIGN KEY REFERENCES STUDENT(STUID), SUBNAME VARCHAR(30) NOT NULL, SUBCLASSID INT NOT NULL, SUBSCORE INT, SUBTEACHERNUM INT)GO--学生选课表由学号、课程号、成绩等属性构成。CREATE TABLE OPTIONALCLASS( STUNUM VARCHAR(20) FOREIGN KEY REFERENCES STUDENT(STUID), COURSEID INT NOT NULL, SCORE FLOAT)GO--教师表由教师编号、姓名、性别、年龄、所授课程号、职称等属性构成。CREATE TABLE TEACHER( TID INT NOT NULL, TNAME VARCHAR(20) NOT NULL, TSEX VARCHAR(6) NOT NULL, TCLASSID INT NOT NULL, TLEVEL VARCHAR(20) NOT NULL)GO用查询分析器建立以上数据库,注意表的约束条件设计。然后完成以下查询操作:--1) 查询所有同学的姓名及其出生年份。--2) 假设系别用英文字符串表示,查询全体学生的姓名、年龄和所在系,并要求用小写字母表示所有系名。--3) 查询与“刘翔”同学同在一个系学习的同学,并按年龄的升序排序。--4) 用外连接查询每个学生及选修课程的情况。5) 查询选修了‘3’号课程的学生学号以及授课老师的详细情况。6) 用多表查询每个学生的学号、姓名、选修课程名及成绩。--7) 插入学号为“S108080”的同学的记录。--8) 删除所有选修了‘1’号课程的同学的记录。--9) 查询所有选修了‘5’号课程的学生姓名。--10) 查询没有选修‘6’号课程的学生信息。以上第五、六两个小题不会请指教!如果还有其他错误请指出!
5.SELECT A.stunum 学生学号, B.tid 教师编号, B.tname 教师姓名, B.tsex 性别, B.tclass 所授课程号, B.tlevel 职称 FROM (SELECT stunum, courseid FROM optionalclass WHERE courseid='3') A, (SELECT tid, tname, tsex, tclass, tlevel FROM teacher)B WHERE A.curseid=B.tclass; 还有你的表差字段,课程编号都没有
6.SELECT A.stuid, A.stuname, D.subname, D.score FROM (SELECT stuid, stuname FROM student) A, (SELECT B.stuid, B.subname, C.score FROM (SELECT stuid, subid, subname FROM SUBJECT) B, (SELECT stunum, courseid, score FROM OPTIONALCLASS) C WHERE B.stuid=C.stunum AND B.subid=C.courseid) D WHERE A.stuid=D.stuid; 如果你对--2.为方便高校课程管理,现建立一个数据库名为“选课管理”,该数据库中含有以下几张表:(建库20%,查询每题4%)CREATE DATABASE 选课管理ON( NAME = 选课管理1_DATA, FILENAME=D:\DATABASE\选课管理1_DATA.MDF, SIZE=10MB, MAXSIZE=100MB, FILEGROWTH=10MB)GO--学生表由学号、姓名、性别、年龄、系别等属性构成。USE 选课管理GOCREATE TABLE STUDENT( STUID VARCHAR(20) PRIMARY KEY, STUNAME VARCHAR(20) NOT NULL, STUSEX VARCHAR(6) NOT NULL, STUAGE INT NOT NULL, STUYARD VARCHAR(30))GOINSERT INTO STUDENT VALUES(100001,洪瑞祥,男,19,COMPUTER)INSERT INTO STUDENT VALUES(100002,刘翔,女,28,PE)--课程表由课程号、课程名、选修课号、学分、授课老师编号等属性构成。CREATE TABLE SUBJECT( SUBID VARCHAR(20) FOREIGN KEY REFERENCES STUDENT(STUID), SUBNAME VARCHAR(30) NOT NULL, SUBCLASSID INT NOT NULL, SUBSCORE INT, SUBTEACHERNUM INT)GO--学生选课表由学号、课程号、成绩等属性构成。CREATE TABLE OPTIONALCLASS( STUNUM VARCHAR(20) FOREIGN KEY REFERENCES STUDENT(STUID), COURSEID INT NOT NULL, SCORE FLOAT)GO--教师表由教师编号、姓名、性别、年龄、所授课程号、职称等属性构成。CREATE TABLE TEACHER( TID INT NOT NULL, TNAME VARCHAR(20) NOT NULL, TSEX VARCHAR(6) NOT NULL, TCLASSID INT NOT NULL, TLEVEL VARCHAR(20) NOT NULL)GO用查询分析器建立以上数据库,注意表的约束条件设计。然后完成以下查询操作:--1) 查询所有同学的姓名及其出生年份。--2) 假设系别用英文字符串表示,查询全体学生的姓名、年龄和所在系,并要求用小写字母表示所有系名。--3) 查询与“刘翔”同学同在一个系学习的同学,并按年龄的升序排序。--4) 用外连接查询每个学生及选修课程的情况。5) 查询选修了‘3’号课程的学生学号以及授课老师的详细情况。6) 用多表查询每个学生的学号、姓名、选修课程名及成绩。--7) 插入学号为“S108080”的同学的记录。--8) 删除所有选修了‘1’号课程的同学的记录。--9) 查询所有选修了‘5’号课程的学生姓名。--10) 查询没有选修‘6’号课程的学生信息。以上第五、六两个小题不会请指教!如果还有其他错误请指出!这个问题有好的意见或
建议,请留言
|