建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录

建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录,第1张

一 创建相关表和数据

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;

二 各项查询的语句如下

--s_id 学号;c_id 课程

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');

1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。

create database MyDB

on(

name='Student-SC',

filename='d:\自己学号\Student-SCmdf',

size=1,filegrowth=10%)

log on

(name='Student-SClog',

filename='d:\自己学号\Student-SClogldf',

size=1,filegrowth=10%)

go

2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。

use Student-SC

create table Student

(Sno char(5) primary key,

Sname varchar(20),

Ssex varchar(2),

Sage tinyint,

Sdept varchar(30),

check(Ssex in('男','女')))

go

3、查询“学生”表中全体学生的学号与姓名

select Sno,Sname from Student

4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄

select Ssex,Sdept,Sage from Student where Sage between 20 and 23

5、 查所有姓刘的学生的姓名、学号和性别

select Sname,Sno,Ssex from Student where Sname like '刘%'

6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性

select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)

7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性

select SCSno,StudentSname,StudentSsex,StudentSage,StudentSdept,SCCno,SCGrade from SC inner join Student on SCSno=StudentSno

8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’

insert into Student values('04160','王燕','女',22,'计算机科学系')

9、将计算机科学系全体学生的成绩置零

update SC set Grade=0 where exists(select Sno,Sdept from Student where StudentSno=SCSno and StudentSdept='计算机科学系')

10、在“学生”表中,删除学号为’04160’同学的记录

delete from Student where Sno='04160'

1、创建数据库

选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。

2、在对象资源管理器窗口中展开服务器,然后选择数据库节点

3、右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。

4、执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,

5、在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

6、在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。

7、在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。

8、切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。切换到文件组页,在这里可以添加或删除文件组。

9、完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。

1

--按学号进行分组,使同一个学生的记录在一起,然后求每一组的平均分

select 学号, 平均分=avg(成绩)

from 学生成绩表

group by 学号

2

--先显示所有班级所有学生的成绩,按班级号进行分组,使同一个班级的成绩记录在一起,然后求每一组的平均分

select 班级号, 平均分=avg(成绩)

from 学生成绩表 score, 学生基本资料表 stu

where stu学号=score学号

group by 班级号

3

select stu学号,姓名,课程号,成绩

from 学生成绩表 score, 学生基本资料表 stu

where stu学号=score学号 and 班级号='bj01'

4

select stu学号,姓名,课程名,成绩

from 学生成绩表 score, 学生基本资料表 stu, 课程表 c

where stu学号=score学号 and c课程号=score课程号

1,从学生SELECT DISTINCT Sdept;

2,SELECT COUNT(DISTINCT Cpno)

课程

WHERE CNAME ='英语';

3,CREATE TABLE Student2

(SNO CHAR(9)PRIMARY KEY,

SNAME CHAR(20)UNIQUE,

Ssex CHAR(2),

Sbirthday SMALLINT,

Sdept CHAR(20)

);

1

create table student(

sno varchar(5) not null primary key,

sname varchar(10),

ssex char(2),

sage int,

sdept varchar(20))

2

alter table student add scome datetime

3

select sno,grade from sg where cno=5 order by grade desc

4

select max(grade) as 最高成绩,avg(grade) as 平均成绩 from sg where cno=1

5

delete from student where sno='05019'

学生!学生

前面的“学生”代表数据库名,后面的“学生”是表名。表示“学生”这个表是包含在“学生”这个数据库里面。

第一个含义:

如果数据库不是当前数据库,就必须指定包含表的数据库名称。应在数据库名称之后表名之前加上感叹号(!)分隔符。一般格式:DatabaseName!Tablename

第二个含义:

如果!用在运算符中就代表不等于的意思,如 a!=b 。

希望以上对您有帮助。

以上就是关于建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录全部的内容,包括:建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录、有一个“学生-课程”数据库,数据库中包括三个表:、我用PHPmyadmin创建了一个名为student的数据库,并新建了一个学生情况表,但我在dat等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9728000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存