一 创建相关表和数据
create table student(id number(10) primary key, name varchar2(20));--id不能重复
create table course(id number(10) primary key, name varchar2(20));--id不能重复
create table stu_cou(s_id number(10), c_id number(10), grade number(4), foreign key(s_id) references student(id), foreign key(c_id) references course(id));--创建表时设置了外键
create unique index uk_stu_cou on stu_cou(s_id,c_id);--设置了唯一索引
insert into student values (1,'zz');
insert into student values (2,'rr');
insert into student values (3,'ff');
insert into student values (4,'yhy');
insert into student values (5,'aqw');
insert into student values (6,'sgh');
commit;
insert into course values (1,'china');
insert into course values (2,'math');
insert into course values (3,'english');
insert into course values (4,'music');
commit;
insert into stu_cou values (1,1,98);
insert into stu_cou values (1,2,78);
insert into stu_cou values (1,3,77);
insert into stu_cou values (1,4,100);
insert into stu_cou values (2,1,26);
insert into stu_cou values (2,2,78);
insert into stu_cou values (2,3,99);
insert into stu_cou values (2,4,100);
insert into stu_cou values (5,1,26);
insert into stu_cou values (5,2,78);
insert into stu_cou values (6,2,33);
commit;
二 各项查询的语句如下
1 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
select from stu_cou where c_id = 3 order by grade desc;
2 查询选修了课程的学生人数
select count(distinct s_id) from stu_cou;
3 求各个课程号及相应的选课人数
select couid 课程号, (select count() from stu_cou where c_id = couid) 选课人数 from course cou;
4 查询至少选修了2门课程的学生学号
select from (
select stuid 学号, (select count() from stu_cou where s_id = stuid) sum_data from student stu) where sum_data >= 2;
5 查询每个学生的学号、姓名、选修的课程名及成绩查询
select scs_id 学号, (select name from student where id = scs_id) 姓名, scc_id 课程号, (select name from course where id = scc_id) 课程名, scgrade 成绩 from stu_cou sc;
6 查询选修了课程名为“信息系统”的学生学号和姓名
select scs_id 学号, (select name from student where id = scs_id) 姓名 from stu_cou sc where scc_id = (select id from course where name = 'china');
什么都是修修改改的,不要什么都想着让别人给你做,下面是建立一个学生表
DROP TABLE IF EXISTS `user_student`;
CREATE TABLE `user_student` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci DEFAULT '',
`password` varchar(50) COLLATE utf8_unicode_ci DEFAULT '',
`grade` varchar(50) COLLATE utf8_unicode_ci DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC;
创建方法:
一、使用数据库向导来创建:
1、启动SQL Server:
依次单击开始->所有程序->SQL Server ->SQL Server Management Studio Express启动SQL Server 数据库管理系统。
2、登录数据库服务器:
点击“连接到服务器“对话框中的连接按钮连接到SQL Server 数据库服务器。
3、创建数据库:
在SQL Server数据库管理系统的左边栏“对象资源管理器”中右击数据库对象,在d出的快捷菜单中单击“新建数据库”命令。 在d出的“新建数据库”对话框右侧的数据库名称中输入数据库名称,然后单击确定。
二、使用SQL语句创建数据库:
1、单击工具栏中的“新建查询”按钮,并在d出的“连接到服务器”对话框中单击“连接”按钮,新建一个SQL脚本。
2、在右侧的SQL脚本输入框中输入如下SQL代码:
CREATE DATABASE STUDENT -- 创建STUDENT数据库 GO
USE STUDENT -- 转到STUDENT数据库
GO
CREATE TABLE STUDENT -- 在STUDENT数据库中创建表STUDENT (
Sno CHAR(5) PRIMARY KEY, Sname CHAR(10) NOT NULL, Ssex BIT, Sage INT,
Sdept CHAR(15) )
以上就是关于建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录全部的内容,包括:建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录、创建一个学生成绩管理系统数据库。数据库名为“student”、如何创建数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)