数据库实验二-三-SQL语句

2021-09-24 19:50

SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。

实验二 数据定义和查询

SQL语句:

CREATE DATABASE Lab2

ON

PRIMARY

(

NAME = 'Lab2_data1',

FILENAME = 'D:\data\Lab2_data1.mdf',

SIZE = 20 MB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%

),

(

NAME = 'Lab2_data2',

FILENAME = 'D:\data\Lab2_data2.ndf',

SIZE = 20 MB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10%

)

LOG ON

(

NAME = 'Lab2_log1',

FILENAME = 'D:\data\Lab2_log1.ldf',

SIZE = 50 MB,

MAXSIZE = 100 MB,

FILEGROWTH = 10 MB

);

USE Lab2

ALTER DATABASE lab2 REMOVE FILE Lab2_data2;

/*按要求创建四个关系S,P,J,SPJ*/

CREATE TABLE S/*供应商表*/

(

sno varchar(20) primary key,

sname varchar(20) unique,

city varchar(50)

);

SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。

CREATE TABLE P/*零件表*/

(

pno varchar(20) primary key,

pname varchar(20) ,

color varchar(10) ,

weight int check(weight>=1 and weight <=50),

);

CREATE TABLE J/*工程项目表*/

(

jno varchar(20) primary key,

jname varchar(20) not null unique,

city varchar(50) ,

);

CREATE TABLE SPJ/*供应情况表*/

(

sno varchar(20) references S(sno),

pno varchar(20) references P(pno),

jno varchar(20) references J(jno),

qty int

);

/*给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。*/

ALTER TABLE S

ADD sphone varchar(20),

semail varchar(20);

/*(2)删除Jname属性列取值唯一的约束。*/

ALTER TABLE J

DROP UQ__J__C1C26BEE0DAF0CB0;

ALTER TABLE SPJ

ALTER COLUMN qty smallint;

ALTER TABLE S

DROP COLUMN semail;

/*(1)查询所有供应商所在的城市。*/

SELECT distinct city

from S

/*(2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。*/

SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。

SELECT pname ,color

from P

where weight between 10 and 20

/*(3)查询工程项目的总个数。*/

SELECT COUNT(jno)

from J

/*(4)查询所有零件的平均重量。*/

SELECT AVG(weight)

from P

/*(5)查询供应商S3供应的零件号。*/

SELECT pno

from SPJ

where sno='s3'

/*(6)查询各个供应商号及其供应了多少类零件。*/

SELECT sno,COUNT(pno)

from SPJ

GROUP BY sno

/*(7)查询供应了2类以上零件的供应商号。*/

SELECT sno

from SPJ

GROUP BY sno

HAVING COUNT(pno)>=2

/*(8)查询零件名以“螺”字开头的零件信息。*/

SELECT *

FROM P

WHERE pname LIKE '螺%';

/*(9)查询工程项目名中最后一个字为“厂”字的工程项目所在的城市。*/

SELECT city

from J

where jname like '%厂';

SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。

/*(10)查询给每个工程供应零件的供应商的个数。*/

SELECT jno,COUNT(sno)

from SPJ

GROUP BY jno

/*(11)查询供应数量在1000—2000之间(包括1000和2000)的零件名称。*/ SELECT pname

from P

where pno in

(SELECT pno

from SPJ

group by pno

HAVING sum(QTY) BETWEEN 1000 AND 2000);

/**/

/**/

use lab2;

/*(1)查询计算机专业学生的姓名和年龄。*/

select Sname,datediff(yy,sbirth,getdate())

from S

where major='计算机';

(2)查询成绩在70-80分(包括70和80分)之间的学生的学号、课程号和成绩。 select *

from SC

where grade between 70 and 80;

(3)查询C01号课程的最高成绩。

select max(grade)

from SC

group by Cno

having cno='C01';

(4)统计每个专业的学生人数。

Select major, Count(sno)

From S

Group by Major;

(5)统计每门课程的修课人数和考试最高分。

Select cno,count(sno) 人数,max(grade) 最高分


数据库实验二-三-SQL语句.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新视野大学英语第一版第四册的课后翻译

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: