发布时间 : 星期三 文章关系数据库标准语言SQL练习题更新完毕开始阅读
――――
(15)取出上海供应商不提供任何零件的工程的代号 SELECT DISTINCT JN FROM SPJB WHERE JN NOT IN
(SELECT DISTINCT SPJB.JN FROM SB,SPJB
WHERE SB.SN=SPJB.SN AND SB.CITY=“上海”)TO SCREEN; JN ―――― J2 J5 J6 ――――
(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件; SELECT DISTINCT SPJB.SN FROM PB,SPJB WHERE SPJB.PN IN
(SELECT SPJB.PN FROM SPJB,SB,PB
WHERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND PB.COLOR=“红” TO SCREEN; SN ―――― S1 S2 S3 S4 S5 ――――
(17)取出由供应商S1提供零件的工程的代号: SELECT DISTINCT SPJB.JN FROM SB,PB,SPJB
WHIERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND SB.SN=“S1” TO SCREEN; JN ———— J1 J4 ————
(18)取出所有这样的一些
----------------------------------- 北京 广州 北京 南京 北京 上海 北京 武汉 南京 广州 南京 南京 南京 上海
上海 南京 上海 上海
-----------------------------------
(19)取出所有这样的三元组
-------------------------------------- 北京 P3 广州 北京 P3 南京 北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P1 南京 南京 P2 广州 南京 P2 南京 南京 P3 南京 南京 P4 南京 南京 P5 南京 南京 P5 上海 南京 P6 广州 南京 P6 南京 上海 P1 南京 上海 P1 上海 上海 P6 南京 上海 P6 上海
--------------------------------------
(20)重复(19)题,但不检索两个CITY值相同的三元组。
SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN;
CITY_A PN CITY_B
-------------------------------------------- 北京 P3 广州 北京 P3 南京 北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P2 广州 南京 P5 上海 南京 P6 广州 上海 P1 南京 上海 P6 南京
---------------------------------------------
12.有样本表student、teacher、course 和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。 Student score
------------------------------------------------------- ------------------------------ NO NAME SEX BIRTHDAY CLASS NO CNO DEGREE
108 曾华 男 09/01/77 95033 103 3-245 86 105 匡明 男 10/02/75 95031 105 3-245 75 107 王丽 女 01/23/76 95033 109 3-245 68 101 李军 男 02/20/76 95033 103 3-105 92 109 王芳 女 02/10/75 95031 105 3-105 88 103 陆军 男 06/03/74 95031 109 3-105 76 101 3-105 64 101 3-105 91 101 3-105 78 101 6-166 85 101 6-166 79 101 6-166 81 teacher course
------------------------------------------------------------------- ------------------------------- NO NAME SEX BRITHDAY PROF DEPART CNO CNAME TNO
804 李诚 男 12/02/58 副教授 计算机 3-103 计算机导论 825 856 张旭 男 03/12/69 讲师 电子 3-245 操作系统 825 825 王萍 女 05/05/72 助教 计算机 6-166 数字电路 825 831 刘冰 女 08/14/77 助教 电子 9-888 高等数学 825 ⑴ 上列出至少有2名男生的班号。
SELECT class FROM student WHERE sex=“男” GROUP BY class HAVING COUNT(*)>=2 TO SCREEN; CLASS ------------- 95031 95033 -------------
⑵ 屏幕显示student表中不姓“王”的同学记录。
SELECT * FROM studen WHERE name not like “王%” TO SCREEN; NO NAME SEX BIRTHDAY CLASS
------------------------------------------------------------------------ 108 曾华 男 09/01/76 95033 105 匡明 男 10/02/75 95031 101 李军 男 02/20/76 95033 103 陆君 男 06/03/74 95031
------------------------------------------------------------------------ ⑶ 屏幕显示student表示每个学生的姓名和年龄。
SELECT name as “姓名”,year(date())-year(birthday)as“年龄” FROM student TO SCREEN; 姓名 年龄
----------------------- 曾华 23
匡明 24 王丽 23 李军 23 王芳 24 陆君 25
-----------------------
⑷ 屏幕显示student表中最大和最小的birthday日期值。
SELECT name,max(birthday),min(birthday) FROM student TO SCREEN; NAME MAX_BIRTHDAY MIN_BIRTHDAY
----------------------------------------------------------------------- 陆君 77.09.01 74.06.03
----------------------------------------------------------------------- ⑸ 以班号和年龄从大到小的顺序在屏幕上显示student表中的全部记录。 SELECT class,name,birthday FROM student DRDER BY class,birthday TO SCREEN; CLASS NAME BIRTHDAY
----------------------------------------------------- 95031 陆君 74.06.03 95031 王芳 75.02.10 95031 匡明 75.10.02 95033 王丽 76.01.23 95033 李军 76.02.20 95033 曾华 77.09.01
----------------------------------------------------- ⑹ 屏幕显示“男”教师及其所上的课程。
SELECT x.name,y.cname FROM teacher x,course y WHERE x.no=y.tno AND x.sex=“男” TO SCREEN; NAME CNAME
----------------------------------- 李诚 操作系统 张旭 数字电路
-----------------------------------
⑺ 在屏幕上列出最高分同学的no、cno和degree列。 SELECT no,cno,degree FROM score
WHERE degree=(SELECT max(degree) FROM score)TO SCREEN; NO CNO DEGREE
------------------------------------------ 103 3_105 92
------------------------------------------ ⑻ 在屏幕上列出和“李军”同性别的所有同学的name。 SELECT name FROM student
WHERE sex=(SELECT sex FROM student WHERE name=“李军”)TO SCREEN; NAME
------------------ 曾华 匡明