谁能帮我解一下SQL语句呢谢谢各位啦!

谁能帮我解一下SQL语句呢谢谢各位啦!,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

题目: A 对于教学数据库存的三个基本表:

S(S#,SNAME,AGE,SEX)

SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

试用SQL的查询语句表达下列查询:

1检索LIU老师所授课程的课程号和课程号

2检索年龄大于23岁的男学生的学号和姓名

3检索学号为S3学生所学课程的课程名与任课教师名

4检索至少选修LIU老师所授课程中一门课程的女学生姓名

5检索WANG同学不学的课程的课程号

6检索至少选修两门课程的学生学号

7检索全部学生都选修的课程的课程号与课程名

8检索选修课程包含LIU老师所授课程的学生学号

解析:

1select c#,ame from c where teacher='liu'

2select s#,sname from s where age>23 and sex='男'

3select ame,teacher from sc,c where scc#=cc# and s#='s3'

4select distinct sname from s,sc,c where ss#=scs# and cc#=scc# and teacher='liu'

5select c# from c where not in (select c# from sc where s#=(select s# from s where sname='wang'))

6select s# from s,sc where ss#=scs# group by s# having count(c#)>=2

7select c#,ame from c where c# in (select c# from sc as sc1 where sc1s# not in (select ss# from sc as sc2 ,s where not exists (select from s ,sc as sc3 where sc3c#=sc2c# and sc3s#=ss#)))

8Select s# from sc sc1 where c# in

(select c# from sc as sc2 where not exists (select from c where teacher='liu' and not exists( select from sc as sc3 where sc3s#=sc2s# and sc3c#=cc#)))

--学生信息(学号,姓名,性别,籍贯,班级编号)和成绩表(学号,课程编号,成绩,是否重修

--学生信息表中学号为主键,其他信息都不允许为空

--通过学号与成绩表形成一个一对多的关系,成绩表中的成绩的默认值为0,但必须在0~100之间。

CREATE TABLE 学生信息

    (

     学号 INT IDENTITY

            NOT NULL

            PRIMARY KEY ,

     姓名 VARCHAR(50) NOT NULL ,

     性别 BIT NOT NULL

            DEFAULT (0) ,

     籍贯 VARCHAR(50) NOT NULL ,

     班级编号 INT NOT NULL

    );

    

CREATE TABLE 成绩

    (

     学号 INT NOT NULL

            FOREIGN KEY REFERENCES 学生信息 (学号) ,

     课程编号 INT NOT NULL ,

     成绩 INT NOT NULL

            DEFAULT (0) ,

     是否重修 BIT NOT NULL

              DEFAULT (0)

    );

ALTER TABLE 成绩  ADD CONSTRAINT ck_成绩 CHECK(100 >= 成绩 AND  成绩>=0);

SELECT  FROM 学生信息;

SELECT  FROM 成绩;

1如果用自己电脑上的dsn(不推荐,因为这样只能以你自己的电脑做服务器,如果是远程服务器,那样还得设置那个服务器),好像得从网上下一个accdb的驱动。现在电脑上只支持mdb而且必须得设置ODBC

2如果自己写一个连接代码(推荐,利于上传远程服务器,在本地也很好使用),可以参照一楼的回答,不过得改一处错 DRIVER={Microsoft Access Driver (accdb)};

3建议保存成2003的文件,即 mdb,这样更方便 *** 作和连接,而且两种方式都好用。

create table sc(

sno char(100),

cno char(100),

grade number

);

alter table sc add constraint pk_1 primary key(sno,cno)

alter table sc add constraint sno_1 foreign key(sno) references student(sno)

alter table sc add constraint cno_1 foreign key(cno) references course(cno)

select a,b,cgrade from student a, course b ,sc c

where asno=csno and bcno=ccno and aname like'张%'

select a,b,cgrade from student a, course b ,sc c

where asno=csno and bcno=ccno and axi_name in('IS','EB')

select sex,sum(age)/count() from student a

group by sex

select aStu_no,aname,bcourse_name,cgrade from student a, course b ,sc c

where asno=csno and bcno=ccno

select astu_no,cgrade from student a, course b ,sc c

where asno=csno and bcno=ccno and bcno='1'

order by cgrade desc

alter table student add(inyear char(4))

update sc set grade =60 where grade between 55 and 59

delete sc where sno='200910001'

insert student into

(sno,

name,

sex

)

values

('20110001',

'张小涛',

'男'

)

以上就是关于谁能帮我解一下SQL语句呢谢谢各位啦!全部的内容,包括:谁能帮我解一下SQL语句呢谢谢各位啦!、使用Transact—SQL语言创建教学管理数据库,创建两个表学生信息的步骤是什么、简述创建一个名为“教学管理.accdb”数据库的步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9400692.html

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

发表评论

登录后才能评论

评论列表(0条)

保存