SQL考试题 求答案

SQL考试题 求答案,第1张

--二.

create database KCGL

on

(

name='KCGL',

filename='E:\班级\姓名+学号\KCGL.mdf',

size=5,

maxsize=25,

filegrowth=20%

)

log on

(

name='KCGL_log',

filename='E:\班级\姓名+学号\KCGL_log.ldf',

size=3,

filegrowth=10%

)

--三.

USE KCGL

GO

create TABLE STUDENT

(

S_NO VARCHAR(20),

S_NAME VARCHAR(20),

S_SEX CHAR(10),

S_AGE INT,

S_ADDRESS VARCHAR(100),

S_DEPT VARCHAR(40)

)

--若要插入所有数据按照下面的模式根据题依次插入

INSERT INTO student VALUES('20111001001','王敏','女',21,'武汉','IS')

create TABLE COURSE

(

C_NO VARCHAR(20),

C_NAME VARCHAR(20),

C_CREDIT INT,

C_TYPE VARCHAR(20)

)

--若要插入所有数据按照下面的模式根据题依次插入

INSERT INTO COURSE VALUES('001','VB程序设计',4,'专业课')

create TABLE SC

(

S_NO VARCHAR(20),

SEMESTER VARCHAR(20),

C_NO VARCHAR(20),

GRADE FLOAT

)

--若要插入所有数据按照下面的模式根据题依次插入

INSERT INTO COURSE VALUES('20111001001','201101','001',78.0)

--四.

--1.

--为表STUDENT,COURSE加主键

ALTER TABLE STUDENT  ADD CONSTRAINT pk_STUDENT PRIMARY KEY(S_NO)

ALTER TABLE COURSE  ADD CONSTRAINT pk_STUDENT PRIMARY KEY(C_NO)

--为表SC加2外键

alter table SC add constraint fk_S_NO  foreign key (S_NO) references student (S_NO)

alter table SC add constraint fk_C_NO  foreign key (C_NO) references student (C_NO)

--2.

ALTER TABLE STUDENT ADD CONSTRAINT DF_STUDENT_adress DEFAULT '湖北' FOR S_ADDRESS

--3.

Alter table SC add constraint CK_SC check (SEMESTER = '201101' OR SEMESTER = '201102')

--五.

--1.

SELECT S_NAME,A_AGE,S_DEPT FROM student WHERE S_NAME = '孟凡'

--2.

select COUNT(S.S_NO) FROM SC S,student ST WHERE s_sex='女' and GRADE >80

--3.

create  view KCGLVL

as

SELECT S.SNO,S.SNAME,C.Cno ,C.Grade  FROM stu S,SC C WHERE S.SNO = C.SNO 

--4.

create procedure KCGLPRO

@S_NO varchar(20)

as

BEGIN

select COUNT(C_NO) from SC  where Sno = @S_NO 

END

execute KCGLPRO '20111001001'

PS:我用的数据库是SQL SERVER 2008,剩下几题自己想想办法,做这么多及格分数已经够了。

--) 用SQL语句建立P表。

USE [SPJ]

GO

/****** Object: Table [dbo].[P] ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = 'P')

DROP TABLE P

GO

CREATE TABLE [dbo].[P](

[PNO] [nvarchar](50) NOT NULL,

[PNAME] [nvarchar](50) NOT NULL,

[COLOR] [nvarchar](50) NOT NULL,

[WEIGHT] [int] NOT NULL

)

GO

--2)用SQL语句找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

--3)用SQL语句把全部红色零件的颜色改为黄色。

UPDATE P SET COLOR = 'YELLOW' WEHRE COLOR = 'RED'

--4) 用SQL语句由S5供给J4的零件P6改为由S3供应。

UPDATE SPJ SET SNO = 'S3' WEHRE PNO = 'P6' AND JNO = 'J4' AND SNO = 'S5'

你还有马甲。。。

第一个不对,更新的是学生的成绩,而不是c001得成绩

1.对选修了课程号为c001的学生成绩提高10%

此题本人做的答案请检查:updata 选课表 set 成绩=成绩*1.1 where 课程号='c001'

UPDATE 选课表 SET set 成绩=成绩*1.1 WHERE 学生号 IN (SELECT 学生号 FROM 选课表 WHERE 课程号='c001')

2.查询没有学生选修的课程名。

此题本人做的答案请检查:select 课程名 from 课程 where 课程名 not exists(select * from 选课表 where 选课表.课程号=课程表.课程号)

SELECT 课程名 from 课程 WHERE 课程号 NOT IN (SELECT DISTINCT 课程号 FROM 选课表)

3. correct

4.查询每个学生选修的门数及平均成绩。

此题本人做的答案请检查:select AVG(成绩),姓名 from 学生,选课 where 学生.学生号=选课.学生号 group by 姓名

SELECT COUNT(c.课程号), AVG(c.成绩)

FROM 学生 stu LEFT JOIN 选课 c ON stu.学生号 = c.学生号

GROUP BY stu.学生号

5.查询2003年以前借书的读者借书证号,姓名和单位。

此题本人做的答案请检查:select 借书证号,姓名,单位 from 读者 where 借书日期<=2003 and 读者.借书证号=借书.借书证号

SELECT 借书证号,姓名,单位 FROM 读者 WHERE IN (SELECT 借书证号 FROM 借书 WHERE 借书日期<=2003)

6.查询电子系没有借书的读者姓名

此题本人做的答案请检查: select 姓名,职称 from 读者 where 职称='电子系' and 借书证号 NOT exists(select 借书证号 from 借书 where 读者.借书证号=借书.借书证号)

此题我一直有一个疑惑 我目前查询电子系没有借书的读者姓名 没有借书 也就是借书证号为空或NULL 那么读者也有一个借书证号 借书也有一个借书证号 2个是相对应的,

但是我没用到借书表 只有了读者表的借书证号 需要在where语句后写入:借书证号=借书.借书证号 这个条件吗?

SELECT 姓名

FROM 读者 t

WHERE 单位 = '电子系' AND NOT EXISTS(SELECT 1 FROM 借书 WHERE 借书证号 = t.借书证号)

7.查询出至少有两名学生所选修的全部课程。

此题我做的不怎么好:select 姓名 from 学生 where 课程名 in (select 课程名,count(*) as 课程数 group by 姓名 having count(*)>=2

SELECT * FROM 课程 WHERE 课程号 IN (SELECT 课程号 FROM 选课 GROUP BY 课程号 HAVING COUNT(*) >=2)

8

@a, @b, @c是参数, 譬如@a = '123', @b = 'c001', @c = 90

然后begin后面是执行一个update *** 作,将参数对应起来就可以了。

真个存储过程对例子要做的就是

UPDATE 选课

set 成绩=90

where 学号= 123 and 课程号='c001'

明白了么


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

原文地址: https://outofmemory.cn/sjk/9932742.html

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

发表评论

登录后才能评论

评论列表(0条)

保存