大三 sql 课后习题答案

更新时间:2023-11-16 11:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章

3.上机练习题

02 程序代码如下:

CREATE DATABASE STUDENT1 ON PRIMARY

(NAME= STUDENT1_data,

FILENAME='E:\\DATA\\STUDENT1.mdf', SIZE=3,

MAXSIZE=unlimited, FILEGROWTH=15%) LOG ON

(NAME= STUDENT1_log,

FILENAME='E:\\DATA\\STUDENT1.ldf', SIZE=2, MAXSIZE=30, FILEGROWTH=2)

03 程序代码如下:

create database students on primary (name=students1,

filename='E:\\DATA\\students1.mdf', size=5, maxsize=75, filegrowth=10%), (name= students12,

filename='E:\\DATA\\students2.ndf', size=10, maxsize=75, filegrowth=1) log on

(name=studentslog1,

filename='E:\\DATA\\studentslog1.ldf', size=5, maxsize=30, filegrowth=1), (name=studentslog2,

filename='E:\\DATA\\studentslog2.ldf', size=5,

maxsize=30, filegrowth=1)

第三章:

3 上机练习题

01 程序代码如下:

-- 创建表book的Transact-SQL语句: USE test01 GO

CREATE TABLE book(

book_id nchar(6) NOT NULL, book_name nchar(30) NULL, price numeric(10, 2) NULL,

CONSTRAINT PK_book PRIMARY KEY CLUSTERED (

book_id ASC ) ) ON PRIMARY

-- 创建表uthor的Transact-SQL语句: CREATE TABLE dbo.author(

anthor_name nchar(4) NOT NULL, book_id nchar(6) NOT NULL, address nchar(30) NOT NULL

) ON [PRIMARY]

-- 设置book中的book_id为主键,author表中的book_id为外键 ALTER TABLE dbo.author WITH CHECK

ADD CONSTRAINT FK_ book_author FOREIGN KEY(book_id) REFERENCES dbo.book (book_id)

02 程序代码如下:

--利用Transact-SQL语句创建表booksales的代码。 USE test01 GO

CREATE TABLE booksales(

book_id nchar(6) NOT NULL, sellnum int NOT NULL, selldate datetime NOT NULL

) ON PRIMARY

--利用insert语句为表booksales添加数据:

INSERT INTO booksales VALUES ('m00011',7,20/12/2008) INSERT INTO booksales(book_id,sellnum,selldate) VALUES ('m00017',3,17/11/2008 )

--利用update语句为表booksales更新数据: UPDATE booksales SET sellnum =11 WHERE book_id ='m00011'

--利用delete语句删除表booksales的数据: DELETE FROM booksales WHERE book_id ='m00011'

03 程序代码如下:

USE test01 GO

CREATE RULE sellnum_rule AS @sellnum >=0

EXEC sp_bindrule 'sellnum_rule','booksales.sellnum'

04 程序代码如下:

--删除年以前的数据

DELETE FROM booksales WHERE selldate < '1/1/2009' --删除所有数据

Truncate Table booksales 第四章

3 上机练习题

01 程序代码如下:

DECLARE @bookname nchar(16)

set @bookname = 'SQL Server数据库编程'

02 程序代码如下:

USE test01

GO

SET NOCOUNT ON

DECLARE @startdate datetime,@enddate datetime SET @startdate = '1/7/2008 12:12 AM' SET @enddate = '11/10/2009 12:00 AM' SELECT DATEDIFF(year,@startdate,@enddate) SELECT DATEDIFF(month,@startdate,@enddate) SELECT DATEDIFF(day,@startdate,@enddate)

SELECT DATEDIFF(minute,@startdate,'1/8/2007 12:17 AM') SELECT DATEDIFF(minute,@startdate,GETDATE()) SET NOCOUNT OFF GO

03 程序代码如下:

DECLARE @count INT,@SUM INT SET @count =51 SET @SUM=0

WHILE @count <=100 BEGIN

IF (CEILING(@count/3.0)<= FLOOR(@count/3.0)) BEGIN

SET @SUM = @SUM + @count END

SET @count = @count+2 END

PRINT '50到之间的所有能被整除的奇数之和'+CAST(@SUM AS NCHAR(4))

第五章

3 上机练习题

01 程序代码如下:

--查询course表中的所有记录。 use teaching go

select * from course go

02 程序代码如下:

--查询student表中的女生的人数。 use teaching go

select * from student where sex='女' go

03 程序代码如下:

--查询teacher表中每一位教授的教师号、姓名和专业名称。 use teaching go

select teacherno,tname,major from teacher where prof='教授' go

04 程序代码如下:

--按性别分组,求出student表中的每组学生的平均年龄。 use teaching go

select sex as '学生性别' , avg(DATEDIFF(year,birthday,getdate())) as '平均年龄'

from student group by sex go

05 程序代码如下:

--利用现有的表生成新表,新表中包括学号、学生姓名、课程号和总评成绩。 --其中:总评成绩=final*0.8+usually*0.2

use teaching go select

student.studentno,student.sname,score.courseno,final*0.8+usually*0.2 as '总评'

into stu_sorse from student,score

本文来源:https://www.bwwdw.com/article/tuhv.html

Top