sql及查询与视图练习题

更新时间:2023-10-31 10:03:01 阅读量: 综合文库 文档下载

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

一、选择题

1、以下关于查询的描述正确的是( D )。

A)不能根据自由表建立查询 B)只能根据自由表建立查询

C)只能根据数据库表建立查询 D)可以根据数据库表和自由表建立查询

2、下述选项中( D )不是查询的输出形式。

A)数据表 B)图形 C)报表 D)表单 3、以下关于视图的描述正确的是( D )。

A)可以根据自由表建立视图 B)可以根据查询建立视图

C)可以根据数据库表建立视图 D)可以根据数据库表和自由表建立视图 4、视图不能单独存在,它必须依赖于( B )。

A)视图 B)数据库 C)自由表 D)查询 5、查询设计器中包括的选项卡有( A )。

A)字段、筛选、排序依据 B)字段、条件、分组依据 C)条件、排序依据、分组依据 D)条件、筛选、杂项

6、视图设计器的选项卡与查询设计器中的选项卡几乎一样,只是视图设计器中的选项卡比查询设计器中的选项卡多一个( D )。

A)字段 B)排序依据 C)联接 D)更新条件 7、在“添加表和视图”窗口,“其他”按钮的作用是让用户选择(D )。

A)数据库表 B)数据库 C)查询 D)不属于数据库的表 8、关于视图的正确描述是(D )。

A)视图与数据库表相同,用来存储数据 B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作 D)视图是从一个或多个表或视图导出的虚拟表 9、下面关于查询描述正确的是( C )。

A)可以使用CREATE VIEW打开查询设计器

B)使用查询设计器可以生成所有的SQL查询语句

C)使用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中 D)使用DO语句执行查询时,可以不带扩展名

10、SQL的核心是( A )。

A)数据查询 B)数据操作 C)数据定义 D)数据控制 11、SQL语句中条件短语的关键字是(A )。

A)WHERE B)FOR C)WHILE D)CONDITION 12、从dab.dbf表中查询所有的姓名,应输入命令(B )。

A)SELECT dab FROM 姓名 B)SELECT 姓名FROM dab C)SELECT 姓名 D)SELECT dab WHERE 姓名 13、使用SQL SELECT 可以将查询结果排序,排序的短语是(A )。

A)ORDER BY B)ORDER C)GROUP BY D)COUNT 14、嵌套查询命令中的IN相当于( B)。

A)等号= B)集合运算符? C)加号+ D)减号-

15、在xkcjb.dbf表中查询成绩在90分到95分的学生信息,应输入命令(A )。

A)SELECT * FROM xkcjb WHERE 成绩 BETWEEN 90 AND 95 B)SELECT 信息 FROM xkcjb WHERE 成绩 BETWEEN 90 AND 95 C)SELECT * FROM xkcjb WHERE 成绩 BETWEEN 90 到 95

D)SELECT 成绩 WHERE 成绩 BETWEEN 90 到 95 FROM xkcjb

16、SQL SELECT 语句中的GROUP BY 和HAVING 短语对应查询设计器上的选项卡是(C )。

A)字段 B)联接 C)分组依据 D)排序依据 17、SQL的数据操作语句不包括(D )。

A)INSERT B)UPDATE C)DELETE D)CHANGE 18、SQL语句中建立表结构的命令是(A )。

A)CREATE TABLE B)CREATE DATABASE C)ALTER TABLE D)CREATE 19、SQL语句中的删除表的命令是(A )。

A)DROP TABLE B)DELETE TABLE C)ERASE TABLE D)DELETE DBF 20、向表中插入数据的SQL命令是(B )。

A)INSERT B)INSERT INTO C)INSERT IN D)INSERT BEFORE 21、SQL语句中,用于修改表结构的命令是(B )。

A)ALTER STRUCTURE B)MODIFY STRUCTURE C)ALTER TABLE D)MODIFY TABLE 22、使用SQL语句进行分组查询时,为了去掉不满足条件的分组,应当(B )。

A)使用WHERE子句

B)在GROUP BY后面使用HAVING 子句

C)先使用WHERE 子句,再使用HAVING子句 D)先使用HAVING子句,再使用WHERE子句

23、下列选项中,不属于数据定义功能的SQL语句是(C )。

A)CREATE B)ALTER C)SELECT D)DROP 24.下列有关SQL的叙述错误的是(D )。

A)SQL包括了数据定义、数据查询、数据操纵和数据控制等方面的功能 B)SQL语言能嵌入到程序设计语言中以程序方式使用 C)SQL语言非常简洁 D)SQL语言是一种高度过程化的语言 25.SQL语句中分组汇总的命令是(C )。

A)TOTAL B)SUM C)GROUP BY D)GATHER 26.下列叙述中,错误的是(C )。

A)SQL语句可以为输出的字段重新命名 B)SQL语句可以为输出的记录进行排序 C)SQL语句不能重新指定列的顺序 D)SQL语句不能省略FROM子句

27.下列关于ALL、DISTINCT、TOP n [PERCENT]叙述中错误的是( D )。

A)如果不包含任何一个短语,则默认为ALL

B)DISTINCT可省略选择字段中包含重复数据的记录 C)TOP n [PERCENT]可指定返回特定数目的记录 D)当查询使用DISTINCT时,可以更新其输出 28.下列叙述中正确的是(A)。

A)HAVING短语只能在使用了GROUP BY短语的情况下使用

B)SELECT字段列表中的字段不一定全部包含在GROUP BY子句中 C)ORDER BY短语的缺省的排列次序是递减排列

D)如果未指定WHERE子句,则查询将不会返回任何记录 29.下列关于联接的叙述中,错误的是( D )。

A)LEFT JOIN运算可创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录

B)RIGHT JOIN运算可创建一个右边外部联接。右边外部联接将包含了从第二个(右边)

开始的两个表中的全部记录,即使在第一个(左边)表中并没有匹配值的记录

C)使用INNER JOIN运算创建的查询只包含在联接字段中含有相同数据的记录

D)在INNER JOIN之中可以写一个嵌套的LEFT JOIN或一个RIGHT JOIN,并且在一个LEFT JOIN或一个RIGHT JOIN之中也可以嵌套INNER JOIN 30.下列叙述中错误的是(B )。

A)可以在任何组合、单一的UNION运算中,合并两个或多个查询、表、及SELECT语句的结果

B)所有在一个联合运算中的查询,必须请求相同数目的字段;但是,字段不必大小相同或数据类型相同

C)TOP短语要与ORDER BY短语同时使用才有效 D)并运算的结果可以保存在文件中 31.下列SQL语句的功能是显示出产品名和相应的类名包含那些没有产品的种类,请完成该语句。(C)

SELECT 分类.类名, 产品.产品名 FROM _______________ ; ON 分类.类标号= 产品.类标号

A)分类,产品 B)分类 INNER JOIN 产品 C)分类 LEFT JOIN 产品 D)分类 RIGHT JOIN 产品 32.下面关于SELECT嵌套语句的叙述中,错误的是(D )。

A)首先应对子查询求值

B)外部查询依赖于子查询的求值结果 C)子查询必须被括在圆括号中 D)子查询的结果会被显示出来

33.下列SQL语句的功能是向学生信息表中插入一条新记录,请完成该语句。(C)

INSERT INTO 学生信息 ______________

A)(姓名,性别,学号) (′陈明′,′男′,′2001102211′)

B)VALUE (′陈明′,′男′,′2001102211′) (姓名,性别,学号) C)(姓名,性别,学号) VALUES (′陈明′,′男′,′2001102211′) D)(′陈明′,′男′,′2001102211′) (姓名,性别,学号) 34.查询得到的结果可以(D )。

A)直接输出到打印机 B)保存在文本文件中 C)输出到屏幕上 D)以上均可 下面35-43题使用STUDENT表中的数据,该表的具体数据如下: 学号 姓名 成绩 专业 2000602 徐秀娟 588 金融 2000606 宋力萍 639 金融 2000612 李梅 656 金融 2000501 孙红 587 法律 2000508 万福全 559 法律 2000615 左安方 602 金融 2000516 李程碑 546 法律 2000619 朱益群 591 金融

35.若要在STUDENT 表中增加一条记录,其学号是2000538,姓名为王力、成绩为587,专业为法律,应使用的SQl 命令为( D )

A)ALTER TABLE ADD STUDENT (学号,姓名,成绩,专业);

VALUES(2000538,王力,587,法律)

B) ALTER TABLE INSERT STUDENT (学号,姓名,成绩,专业); VALUES(2000538,王力,587,法律)

C)INSERT INTO STUDENT (学号,姓名,成绩,专业); VALUES(2000538,王力,587,法律)

D)INSERT INTO STUDENT (学号,姓名,成绩,专业); VALUES(“2000538”,“王力”,587,“法律”) 36.若要在STUDENT表中给所有法律专业学生的成绩增加20分,应使用的SQL命令为(B )。 A)UPDATE STUDENT SET 成绩=成绩+20 FOR 专业=“法律” B)UPDATE STUDENT SET 成绩=成绩+20 WHERE 专业=“法律” C)UPDATE STUDENT ADD 成绩+20 FOR 专业=“法律”

D)UPDATE STUDENT ADD 成绩=成绩+20 WHERE 专业=“法律”

37.若要在STUDENT 表中增加一个宽度为2的“性别”字段,应使用的SQL命令为(A )。 A)ALTER TABLE STUDENT ADD 性别 C(2)

B)ALTER TABLE STUDENT ADD 性别 WITH C(2) C)INSERT TABLE STUDENT ADD 性别 C(2)

D)INSERT STUDENT ALTER ADD 性别 WITH C(2)

38.若要将STUDENT 表中“姓名”字段的宽度由8改为10,应使用的SQL命令为( B )。 A)ALTER TABLE STUDENT 姓名 WITH C(10) B)ALTER TABLE STUDENT 姓名 C(10)

C)INSERT TABLE STUDENT ALTER 姓名 C(10) D)INSERT STUDENT ALTER 姓名 C(10)

39.若要输出STUDENT 表中各专业成绩最高的学生姓名、专业与成绩,应使用的SQL命令为(B )。

A)SELECT 姓名,专业,MAX(成绩) FROM STUDENT GROUP BY “专业” B)SELECT 姓名,专业,MAX(成绩) FROM STUDENT GROUP BY 专业 C)SELECT 姓名,专业,成绩 FROM STUDENT ORDER BY “成绩”DESC D)SELECT 姓名,专业,成绩 FROM STUDENT ORDER BY 成绩 DESC 40.若要将STUDENT表中的成绩在600分以上的学生姓名和成绩按成绩由高到低的顺序显示出来,应使用的SQL语句为( C )。

A)SELECT 姓名,成绩 FROM STUDENT WHERE 成绩>=600 ORDER BY 成绩

B)SELECT 姓名,成绩 FROM STUDENT WHERE 成绩>=600 ORDER BY 成绩 ASC C)SELECT 姓名,成绩 FROM STUDENT WHERE 成绩>=600 ORDER BY 成绩 DESC D)SELECT 姓名,成绩 FROM STUDENT WHERE 成绩>=600 ORDER BY 成绩/D

41.执行“SELECT * FROM STUDENT INTO DBF CIPX ORDER BY 成绩”的SQL 命令之后,将(B )。

A)会提示命令出错

B)会生成一个按“成绩”升序排序的表文件 C)会生成一个按“成绩”降序排序的表文件

D)在屏幕的浏览窗口中显示一个按“成绩”排序的结果

42.分别求 STUDENT 表中每个专业的学生的平均成绩的SQL命令是(D )。 A)SELECT 专业 ,AVG(成绩) FROM STUDENT GROUP BY 成绩 B)SELECT 专业 ,AVG(成绩) FROM STUDENT ORDER BY 成绩 C)SELECT 专业 ,AVG(成绩) FROM STUDENT ORDER BY 专业

D)SELECT 专业 ,AVG(成绩) FROM STUDENT GROUP BY 专业

43.若要删除STUDENT表中的“性别”字段,应使用的SQL命令为(A )。 A)ALTER TABLE STUDENT DROP 性别 B)ALTER TABLE STUDENT DELETE 性别 C)DELETE TABLE STUDENT DROP 性别 D)DROP STUDENT ALTER ERASE 性别

44.SELECT 工资 FROM 职工 ORDER BY 工资 语句的 意义是(A )。 A)按职工的工资值的升序检索出他们工资的信息 B)按职工的工资值的降序检索出他们工资的信息 C)按职工的工资值的升序检索出所有字段的信息 D)按职工的工资值的升序检索出所有字段的信息 45.SQL使用的通配符有(D )。

A)* B)% C)下划线 D)B和C 以下题使用的数据如下:

当前盘当前目录下有数据库DB_STOCK,其中有表STOCK.DBF,该数据库表的内容是: 股票代码 股票名称 单价 交易所 600600 青岛啤酒 7.48 上海 600601 方正科技 15.20 上海 600602 广电电子 10.40 上海 600603 兴业房产 12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械 14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 46.查询交易所在“深圳”的股票的信息所用的命令是( B )。 A)SELECT ALL FROM STOCK

B)SELECT * FROM STOCK WHERE 交易所=“深圳” C)SELECT * WHERE 交易所=“深圳”

D)SELECT ALL FROM STOCK WHERE 交易所=“深圳”

47.查询单价超过10元的股票的所有信息用的命令是(B )。 A)SELECT * FROM STOCK

B)SELECT * FROM STOCK WHERE 单价>10 C)SELECT ALL FROM STOCK WHERE 单价>10 D)LIST ALL

48.在该表中插入一条记录可以使用的命令是(A )。 A)INSERT INTO STOCK VALUES(“000001”,“长江”,12.54,“成都”) B)INSERT VALUES(“000001”,“长江”,12.54,“成都”) C)INSERT INTO STOCK SET(“000001”,“长江”,12.54,“成都”) D)INSERT TO STOCK VALUES(“000001”,“长江”,12.54,“成都”) 49.查询股票名称与“电子”有关的记录应该用(B )。 A)SELECT * FROM STOCK WHERE股票名称=“电子”

B)SELECT * FROM STOCK WHERE股票名称 LIKE “%电子%” C)SELECT * FROM STOCK WHERE股票名称 LIKE “_电子” D)SELECT * FROM STOCK WHERE股票名称=“_电子_”

50.按股票的单价值升序检索出全部的股票信息应该用(B )。 A)SELECT * FROM STOCK WHERE ALL B)SELECT * FROM STOCK ORDER BY 单价

C)SELECT * FROM STOCK ORDER BY 单价 DESC D)SELECT * FROM STOCK GROUP BY 单价

51.检索出单价在10至15之间的所有股票的信息,应使用的SQL语句是(B )。 A)SELECT * FROM STOCK WHERE 10<单价<15

B)SELECT * FROM STOCK WHERE单价 BETWEEN 10 AND 15 C)SELECT * FROM STOCK WHERE单价>10 OR 单价<15 D)SELECT * WHERE单价 BETWEEN 10 AND 15

52.查看股票的最高单价和最低单价相差多少,应该使用的SQL语句是( )。 A)SELECT * FROM STOCK WHERE BETWEEN MAX() AND MIN() B)SELECT MAX()-MIN() FROM STOCK

C)SELECT * FROM STOCK WHERE MAX()-MIN() D)MAX()-MIN() SELECT * FROM STOCK 二、填空题

1.用视图 可以 修改数据表中数据。 2.视图和查询可能对 所有 表进行操作。

3.视图可分为 本地视图 、 远程视图 两种。 4.查询 不能 更新数据表中的数据。

5.由多个本地数据表创建的视图,称该视图为 本地视图 。 6.查询设计器中的“联接”选项卡,可以控制 连接条件 选择。 7.查询设计器中的“字段”选项卡,可以控制 输出字段 选择。 8.创建视图时,相应的数据库必须是 打开 状态。

9.视图既具有 表 的特点,又具有 查询 的特点。 10.建立远程视图必须先建立与远程数据库的 连接 。 11.查询设计器的筛选项卡用来指定查询的 条件 。 12.可以用 CREATE VIEW 命令来打开视图设计器。

13.SQL SELECT 语句为了将查询结果存放到临时表中应使用 INTO CURSOR 短语。 14.SQL支持集合的并运算,运算符是 UNION 。

15.在SQL SELECT中用于统计的函数有COUNT、 SUM 、 AVG 、MAX和MIN。

16.使用SQL语句实现数据查询,设置查询输出的字段,使用 SELECT 短语;设置查询的基表,使用 FROM 短语;设置查询输出记录的条件,使用 WHERE 短语。 17.SQL查询中,与查询设计器的连接选项卡对应的短语为JOIN? ON ,与字段选项卡对应的短语为 SELECT ,与筛选选项卡对应的短语为 WHERE 。

18.SQL查询中,短语WHERE用来设置输出记录的 条件 ,短语ORDER BY 用来设置输出记录的 顺序 ,短语GROUP BY 用来设置 分组信息 。 19.SQL查询中默认查询结果输出到 浏览 。 20.SQL定义表的命令是 CREATE TABLE 。 21.SQL修改表结构的命令是 ALTER TABLE 。

22.与SQL表达式“成绩 IN (60,100)”等价的逻辑表达式为 成绩=60 OR 成绩=100。 23.完成以下SQL语句,使其可选择工资超过 21,000 的所有雇员。

SELECT 姓名,工资 FROM 工人信息 WHERE 工资>1000 24.有如下SQL语句:

SELECT 读者.姓名,读者.职称,图书.书名,借阅.借书日期; FROM图书管理!读者,图书管理!借阅,图书管理!图书;

WHERE借阅.借书证号=读者.借书证号 AND图书.总编号=借阅.总编号

其中WHERE子句中的“借阅.借书证号=读者.借书证号”对应的关系操作代表的涵义是使两张表按借阅证号字段值相等一一对应_____。

25.如果要在藏书中查询“高等教育出版社”和“科学出版社”的图书,请对下面的SQL语句填空。

SELECT 书名,作者,出版单位 FROM 图书管理!图书;

WHERE 出版单位__=“高等教育出版社” OR _出版单位=“科学出版社”______

26.如果要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,请对下面的SQL语句填空。

SELECT 出版单位,MAX(单价), AVG(单价) , COUNT(*) ; FROM 图书管理!图书 GROUP BY 出版单位

27.如果要查询借阅了两本及两本以上图书的读者姓名和单位,请对下面的SQL语句填空。

SELECT 姓名,单位 FROM 图书管理!读者; WHERE 借阅证号 IN

(SELECT 借阅证号 FROM 图书管理!借阅; GROUP BY 借阅证号 HAVING COUNT(*)>=2) 三、操作题

1. 用SQL语句完成下列操作。 订购 客户ID 订购日期 10315 10329 10315 10315 10101 10101 10330 10330 10329 10101 10330 10101 10315 10101 客户 货物ID 数量 5 2 1 6 4 8 客户ID 姓名 城市 10101 10299 10315 10325 10329 10330 黎明 北京 陈俊 广州 罗云 广州 韦林 上海 王菱 深圳 柳琴 上海 货物 货物ID 货物名 单价 1001 1008 1009 1015 1017 1028 1029 101041 09-01-2001 1015 09-18-2001 1015 10-28-2001 1017 11-01-2001 1029 11-02-2001 1017 12-15-2001 1028 12-22-2001 1017 06-01-2002 1001 06-18-2002 1029 06-30-2002 1029 07-08-2002 1008 07-19-2002 1028 08-13-2002 1001 08-14-2002 1008 08-18-2002 1009 3 4 3 2 2 3 1 3 1 睡袋 帐篷 罗盘 军刀 手套 雪靴 568.00 768.00 26.00 58.00 38.00 298.00 充气垫 898.00

(1)求在2002年8月份,已售货物的销售总数。 SELECT 货物,SUM(数量) FROM 订购;

WHERE 订购日期 BETWEEN {^2002-08-01}AND{^2002-08-31};

GROUP BY 货物

(2)求在2001年订购了货物的客户的信息。 SELECT 客户ID,姓名,城市 FROM 客户;

WHERE 客户ID IN ( SELECT 客户ID FROM 订购;

WHERE 订购日期 BETWEEN {^2001-01-01}AND{^2001-12-31})

(3)求每个货物ID及购买该货物数量最多的客户的ID。 SELECT 货物ID, 客户ID FROM 订购 DG;

WHERE 数量=(SELECT MAX(数量) FROM 订购;

WHERE 货物ID=DG.货物ID)

(4)求购买了货物的客户信息。 SELECT * FROM 客户 WHERE EXIST;

(SELECT * FROM 订购 WHERE 订购.客户ID=客户.客户ID)

(5)在货物表中增加售出量字段(N/3/0),并汇总货物的售出总数。 ALTER TABLE 货物 ADD 售出量 N(3)

UPDATE 货物 SET 售出量=(SELECT SUM(数量) FROM 订购;

WHERE 订购.货物ID=货物.货物ID) 2. 用SQL语句完成下列查询工作。

S(供应商),数据项有SNO,SNAME,STATUS,CITY P(零件),数据项有PNO,PNAME,WEIGHT,COLOR SP(零件供应记录),数据项有SNO,PNO,QTY,表示某供应商供应拥有某零件的数量为QTY

S(供应商) SNO S1 S2 S3 SP(零件供应记录) CITY 天津 北京 北京 SNO S1 S1 S1 S2 S2 S3 SNAME 精益 盛行 东方红 STATUS 20 10 30 P(零件) PNO P1 P2 P3 P4 PNAME 螺母 螺栓 螺丝刀 螺丝刀 WEIGHT 12 17 14 14 COLOR 红 灰 蓝 褐 PNO P1 P2 P3 P1 P2 P2 QTY 300 200 400 300 400 200 (1) 找出所有S打头的供应商提供的零件清单(须含零件名称、数量)。 SELECT P.PNAME,SP.QTY FROM S,P,SP;

WHERE P.PNO=SP.PNO .AND. S.SNO=SP.SNO;

.AND. S.SNAME LIKE ′S%′

(2) 列出所有供应商提供的零件种类数(须含供应商名、零件种类数量)。 SELECT S.SNAME,COUNT(SP.PNO) FROM S,SP;

WHERE S.SNO=SP.SNO GROUP BY SNO

(3) 求北京的供应商的数目。

SELECT COUNT(S.SNO) FROM S WHERE S.CITY=′北京′ (4) 求不供应P2商品的供应商名字。

SELECT S.SNAME FROM S,SP;

WHERE S.SNO=SP.SNO .AND. .NOT. EXISTS;

(SELECT * FROM SP WHERE PNO=′P2′ .AND. S.SNO=SP.SNO)

3. 参照上题提供的表和数据,使用SQL语句完成下列任务。

(1) 把所有供应零件重量超过17(含17)的供应量增加10%。 UPDATE SP SET QTY=QTY*1.1;

WHERE PNO IN (SELECT PNO FROM P,SP;

WHERE SP.PNO=P.PNO .AND. P.WEIGHT>=17)

(2) 将零件供应记录中没有的零件从零件表中删除。

DELETE FROM P WHERE PNO .NOT. IN;

(SELECT DISTINCE PNO FROM SP)

4. 用SQL语句完成下列操作。

S(供应商),数据项有SNO,SNAME,STATUS,CITY P(零件),数据项有PNO,PNAME,WEIGHT,COLOR J(工程项目),数据项有JNO,JNAME,CITY

SPJ(零件供应表)数据项有SNO,PNO,JNO,QTY。表示某供应商供应某零件给某工程项目的数量为QTY S(供应商) SNO S1 S2 S3 S4 S5 SPJ(联结记录) CITY 天津 北京 北京 天津 上海 SNO S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S5 PNO P1 P1 P1 P2 P3 P3 P3 P3 P5 P5 P1 P3 P5 P6 P6 P2 JNO J1 J3 J4 J2 J1 J2 J4 J5 J1 J2 J1 J1 J1 J3 J4 J4 QTY 200 100 700 100 400 200 500 400 400 100 200 200 100 300 200 100 SNAME 精益 盛行 东方红 丰奉 菱庆 STATUS 20 10 30 20 30 J(工程项目) JNO J1 J2 J3 J44 J5 J6 J7 JNAME 三建 一汽 弹簧厂 造船厂 CITY 北京 长春 天津 天津 机车厂 唐山 无线电厂 南京 半导体厂 上海 P(零件) PNO P1 P2 P3 P4 P5 P6 WEIGHT 12 17 14 14 40 30 PRICE 0.05 0.10 1.50 1.20 5.00 7.30 S5 S5 S5 P3 P6 P6 J1 J2 J4 200 200 500 PNAME 螺母 螺栓 螺丝刀 螺丝刀 凸轮 齿轮 COLOR 红 灰 蓝 褐 蓝 灰 (1) 求所有供应商的所在城市名,要求没有重复信息。 SELECT DISTINCT CITY FROM S

(2) 按照零件名的升序和价格的降序(在零件名相同时)显示零件的信息

SELECT PNO,PNAME,COLOR,WEIGHT,PRICE FROM P; ORDER BY PNAME, PRICE DESC

(3) 求供应工程J1零件的单位号码SNO SELECT SNO FROM SPJ WHERE JNO=′J1′

(4) 求供应工程J1零件P1的供应单位号码

SELECT SNO FROM SPJ WHERE JNO=′J1′ .AND. PNO=′P1′

(5) 求供应工程J1红色零件的单位号码

SELECT SNO FROM SPJ WHERE JNO= ′J1′ .AND. PNO IN;

(SELECT PNO FROM P WHERE COLOR=′红′)

(6) 求没有使用天津单位生产的零件的工程号JNO

SELECT JNO FROM SPJ WHERE NOT EXISTS;

(SELECT * FROM S WHERE S.SNO=SPJ.SNO .AND. CITY=′天津′)

(7) 把全部灰色零件的颜色改为黑色

UPDATE P SET COLOR=′黑′ WHERE COLOR=′灰′

(8) 由S1供应给J1的零件P1今改为由S2供给,作必要的修改

UPDATE SPJ SET SNO= ′S2′;

WHERE SNO= ′S1′ .AND. JNO= ′J1′ .AND. PNO= ′P1′

(9) 求在北京的所有供给商和工程的名字

SELECT SNAME FROM S WHERE CITY=′北京′ UNION; SELECT JNAME FROM J WHERE CITY=′北京′

(10) 删除全部使用蓝色零件的工程供应记录

DELETE FROM SPJ WHERE PNO IN;

(SELECT PNO FROM P WHERE COLOR=′蓝′)

5.用SQL语句完成下列操作(数据表基于例题)。

(1) 求选修C1课程的学生学号和得分,结果按分数降序排列。 SELECT SNO,G FROM SC WHERE CNO= ′C1′ ORDER BY G DESC

(2) 求年龄在20岁与22岁之间(包括20岁和22岁)的学生学号和年龄。 SELECT SNO,SA FROM S WHERE SAGE BETWEEN 20 AND 22 (3) 求在下列各系的学生:计算机系、数学系。

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

Top