求一道SQL数据库的语句题解答!求SQL专家完全解答!!!!

求一道SQL数据库的语句题解答!求SQL专家完全解答!!!!,第1张

use 教师数据库

go

/*1、创建教师表*/

create table 教师表

(

教师编号 char(6) primary key,

姓名 varchar(10) not null,

性别 varchar(10) not null,

职称 varchar(10),

身份z号 varchar(10) unique nonclustered

)

/*2、创建课程表*/

create table 课程表

(

课号 char(6) primary key,

名称 varchar(20) not null

)

/*3、创建任课表*/

create table 任课表

(

ID int null,

教师编号 char(6) references 教师表(教师编号),

课号 char(6) references 课程表(课号),

课时数 int

)

/*4、将下列课程信息添加到课程表的代码*/

insert 课程表 values ('100001','SQL Server数据库')

insert 课程表 values ('100002','数据结构')

insert 课程表 values ('100003','VB程序设计')

/*5 、查找所有教师的信息。*/

select * from 教师表

/*6、检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。*/

select 教师编号,姓名 from 教师表 where EXISTS (select count(*) from 任课表 where 教师表.教师编号=任课表.教师编号 group by 教师编号 HAVING count(*)>90)

/*7、查找张老师的代课总课数。*/

select count(*) from 任课表 where EXISTS (select * from 教师表 where 教师表.教师编号=任课表.教师编号 and 姓名='张老师')

--二.

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,剩下几题自己想想办法,做这么多及格分数已经够了。

1 select 姓名,部门名称 from 部门,职工 where 部门.部门号=职工.部门号and 职务=“工程师”

2 update 工资级别 set 小时工资率=小时工资率*(1+5%) where 职务=“工程师”

3 select 职工号,sum(工时) from 施工 group by 职工号 having sum(工时)>40

4 select 部门名称,电话号码 from 部门,职工 where 部门.部门号=职工.部门号 and 姓名=“潘小光”

5 select 部门名称,姓名,项目名称 from 职工,部门,工程,施工 where 部门.部门号=职工.部门号 and 施工.项目号=工程.项目号

6 create sql view 酬金 as select 职工号,姓名,项目名称,工时,小时工资率*工时 from 施工,职工,工程,工资级别 where 施工.项目号=工程.项目号 and

职工.职务=工资级别.职务 and 职工.职工号=施工.职工号


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存