數據庫系統概論SQL上機練習題 解答

數據庫系統概論SQL上機練習題

 

練習題1

現有圖書管理數據庫的三個關係模式:

圖書(總編號,分類號,書名,作者,出版單位,單價)

讀者 (借書證號,單位,姓名,性別,職稱,地址)

借閱 (借書證號,總編號,借書日期)

1.   利用SQL Server 2000創建圖書管理庫和圖書、讀者和借閱三個基本表的表結構:

2.   利用SQL Server 2000在三個表中分別插入以下所給元組:

圖書

總編號

分類號

書名

作者

出版單位

單價

445501

TP3/12

數據庫導論

王強

科學出版社

17.90

445502

TP3/12

數據庫導論

王強

科學出版社

17.90

445503

TP3/12

數據庫導論

王強

科學出版社

17.90

332211

TP5/10

計算機基礎

李偉

高等教育出版社

18.00

112266

TP3/12

FoxBASE

張三

電子工業出版社

23.60

665544

TS7/21

高等數學

劉明

高等教育出版社

20.00

114455

TR9/12

線性代數

孫業

北京大學出版社

20.80

113388

TR7/90

大學英語

胡玲

清華大學出版社

12.50

446601

TP4/13

數據庫基礎

馬凌雲

人民郵電出版社

22.50

446602

TP4/13

數據庫基礎

馬凌雲

人民郵電出版社

22.50

446603

TP4/13

數據庫基礎

馬凌雲

人民郵電出版社

22.50

449901

TP4/14

FoxPro大全

周虹

科學出版社

32.70

449902

TP4/14

FoxPro大全

周虹

科學出版社

32.70

118801

TP4/15

計算機網絡

黃力鈞

高等教育出版社

21.80

118802

TP4/15

計算機網絡

黃力鈞

高等教育出版社

21.80

 

讀者:

借書證號

單位

姓名

性別

職稱

地址

111

信息系

王維利

教授

1號樓424

112

財會系

 

副教授

2號樓316

113

經濟系

 

講師

3號樓105

114

信息系

周華髮

講師

1號樓316

115

信息系

趙正義

工程師

1號樓224

116

信息系

 

副教授

1號樓318

117

計算機系

李小峯

助教

1號樓214

118

計算機系

許鵬飛

助工

1號樓216

119

計算機系

劉大龍

教授

1號樓318

120

國際貿易

 

副教授

4號樓506

121

國際貿易

 

講師

4號樓510

122

國際貿易

 

講師

4號樓512

123

財會系

沈小霞

助教

2號樓202

124

財會系

 

講師

2號樓210

125

財會系

馬英明

副教授

2號樓212

 

借閱:

借書證號

總編號

借書日期

112

445501

1997-3-19

125

332211

1997-2-12

111

445503

1997-8-21

112

112266

1997-3-14

114

665544

1997-10-21

120

114455

1997-11-2

120

118801

1997-10-18

119

446603

1997-12-12

112

449901

1997-10-23

115

449902

1997-8-21

118

118801

1997-9-10

 

練習題2

學會利用導入的方法創建上面的數據庫並用SQL完成如下查詢:

1)        找出姓李的讀者姓名和所在單位。

2)        列出圖書庫中所有藏書的書名及出版單位。

3)        查找高等教育出版社的 所有圖書及單價,結果按單價降序排序。

4)      查找價格介於10元和20元之間的圖書種類,結果按出版單位和單價升序排序。

5)        查找書名以計算機打頭的所有圖書和作者。

6)        檢索同時借閱了總編號爲112266449901兩本書的借書證號。

7)        查找所有借了書的讀者的姓名及所在單位。

8)        找出李某所借圖書的所有圖書的書名及借書日期。

9)        查詢199710月以後借書的讀者借書證號、姓名和單位。

10)     找出借閱了FoxPro大全一書的借書證號。

11)     找出與趙正義在同一天借書的讀者姓名、所在單位及借書日期 。

12)     查詢19977月以後沒有借書的讀者借書證號、姓名及單位。

練習題3

學會利用導出的方法創建圖書管理數據庫並完成下面SQL高級查詢:

13)     求科學出版社圖書的最高單價、最低單價、平均單價。

14)     求信息系當前借閱圖書的讀者人次數。

15)     求出各個出版社圖書的最高價格、最低價格和冊數。

16)     分別找出各單位當前借閱圖書的讀者人數。

17)     找出當前至少借閱了2本圖書的讀者及所在單位。

18)     分別找出借書人次超過1人次的單位及人次數。

19)      找出藏書中各個出版單位的冊數、價值總額。

20)      查詢經濟系是否還清所有圖書。如果還清,顯示該系所有讀者的姓名、所在單位和職稱。

1select 單位,姓名
from 讀者
where 姓名 like '%'
2select distinct 書名,出版單位
from 圖書
3select distinct *
from 圖書
where 出版單位='高等教育出版社'
order by 單價 desc
4select  *
from 圖書
where 單價 between 10.00 and 20.00
order by 出版單位,單價
5select  distinct 書名,作者
from 圖書
where 書名 like '計算機%'
6select jy1.借書證號
from 借閱 jy1,借閱 jy2
where jy1.總編號='112266' and jy2.總編號='449901' and jy1.借書證號=jy2.借書證號
7select distinct 姓名,單位
from 讀者,借閱
where 讀者.借書證號=借閱.借書證號
8select 書名,姓名,借書日期
from 借閱,圖書,讀者
where 借閱.借書證號=讀者.借書證號 and 圖書.總編號=借閱.總編號 and 讀者.姓名 like '%'
9select distinct 讀者.借書證號,姓名,單位
from 借閱,讀者
where 借閱.借書證號=讀者.借書證號 and 借閱.借書日期>=1997-10-1
10select distinct 借閱.借書證號
from 借閱,圖書
where 借閱.總編號=圖書.總編號 and 圖書.書名 like 'FoxPro大全'
11SELECT姓名,單位,借閱日期
FROM 讀者,借閱
WHERE 借閱.借書證號=讀者.借書證號 AND借閱日期 IN
SELECT 借書日期
FROM 借閱,讀者
WHERE  借閱.借書證號=讀者.借書證號 AND 姓名=李欣

 

12select 借書證號,姓名,單位;
   from 讀者;
   where 借書證號 not in;
         (select 借書證;
          from 借閱;
          where 借書日期>={07/01/97})

 

13select 出版單位,MAX(單價) as最高價,MIN(單價)as最低;,AVG (單價)as平均價;
From 圖書;
Where 出版單位=“科學出版社
14SELECT “計算機科學系借書人數:COUNTDISTINCT 借書證號)
FROM 借閱
WHERE 借書證號  IN
SELECT  借書證號
FROM  讀者
WHERE 單位=計算機科學系
15SELECT 出版單位,MAX(單價),MIN(單價),AVG(單價)
FROM 圖書
GROUP BY 出版單位
17SELECT 姓名,單位
FROM 讀者
WHERE 借書證號 IN
SELECT 借書證號
FROM  借閱
GROUP BY  借書證號
HAVING COUNT*>=5

 

18Select 單位,count(*) as 超過1人次;
From 借閱,讀者
Where 讀者.借書證號=借閱.借書證號;
Group by 單位
Having count(*)>=2
19SELECT 出版單位,冊數:COUNT*),總價:SUM(單價)
FROM 圖書
GROUP BY 出版單位
ORDER BY SUM(單價)COUNT(*) DESC

 

20Select 姓名,單位,職稱;
From 讀者;
Where 單位=“經濟系” and not exists
       (select *;
        from 讀者,借閱;
        where 讀者.借書證號=借閱.借書證號 and 單位=“經濟系
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章