□useLibrary
selectdistinctRnc^Rname^RsexfromReaderZ
IwhereReducacian-「研究主'orReducauion■'北#斗"
<
□
i消息
Rname
Rsfflt
1
rr
1王小明
2
2
李伟
3
3
范君
玄
4
4
背河
男
5
5
女
4.查询所有姓林的且全名为2个汉字的读者的姓名(Rname)、性别(Rsex)和年龄
(Rage)。
/SQLQuery6T£ql-Cl-(FANCOMI\Ass(51))
□useLibraryselectdiscinccRnaitie,Rsex,Rag亡£工dmReaderi
ywhereRnair.elike'林*
SQLQuery6.£ql-(1...(FANCOMI\Ass(51))
useLibrary
select-fromBorrow^
where^rnDa二亡二二
<
"s
I结杲
[b消息
1
RnoBnoBorrowDateReturnDate
I5I420(&720NULL
6"5200^1NULL
6.查询读者总人数。
SQLQueryfi.sql-(1-(FANCOM1\A»(51))
5useLibrary
selectCOUNTdistinctRnoi
IfrciTiReader2
<
G
】结果J消息
I无列名)
4UI-IU1—IfalUI-iaUI—
1汁J
7.计算学历为研究生的读者的平均年龄。
SqLQuery6.£qll-(._FANCOM[\Ass(51))*日useLibrary
i]selectavg(Rage:
fxoinReaders
<
二结果
Jj消息
1
f无到庠)
19.5
8.查询所有的借阅记录,按照读者编号(Rno)升序排列,读者编号相同的,按照借
阅时间(BorrowDate)降序排列。
・」=U
£QLQueiy6-SqrUFANCOMr\A«(S1))*
□useLibrary
Fselect”ErcmBorrow^
orderbyRnoascrBcrrowDat更吐esc
卜十
结果
质消息
Rno
Bno
BonowDde
ReturnDate
1
rn
13
ui
Mm-11
2DG^S11
?
i
1
2W45
2
2
1
20DS-12-2D
2D09-1-10
4
3
1
2003^12
2^726
&
3
2
200a-l1-25
2D09-1-15
&
4
2
丹耐2
7
4
3
2009-^S
2D09-7-2
&
5
4
200^7-20
NULL
9
6
5
2009-0-1
NULL
9.查询借书次数大于一次的读者编号。
SQLQuery2.£ql•(...CFANCOMI\A5t[S4)j£QLQuery6.£ql•(„FANCOMI\AiS(51))*
曰u曰已二i匕二比
[i]selectRnofrom3oxrow2groupbyRua
-hairingCCJITTdial;incVBnc
百结巣_J消息
Rna
11
10.查询读者的借书情况,要求列出读者姓名,图书标题,借书日期。
5QLQuery2,門Ik..(FAN匸OM1\A&5〔54;)SQLQucryS.sql(1^[FAN€OMI\Ais(51))
3useLibrary
勺select:
Reade:
r2.RjmiupiBoakS.Btl匸丄总『Ri□上上曰哦2・BorriSW.D&t:
e|framBorzaw2rBDdk2rReadter2LwhereReader2-Rno=Borxow2BRnoandBqxtow2,Bno=Bcok2Bno
□结果j消息
Rname
Butle
BorowDate
1
了王<i朋i
埶拒结拘
2D0S■阴
2
王小明
掘作至缢噪仑
2Q0W-11
3
数揺结划
2«&12-20
4
范君
计障机网辂基砒
2008-11-25
5
范君
釧居絃拘
200^&112
€
苗河
握作勰鶴
200珈
7
灣河
计茸机网貉基flit
am-5
e
计
2D0S-7-2C
3
林可
觀摇乍基础
200^1
11.查询所有读者的基本情况和借书情况,没有借书的读者也输出基本信息。
SQLQuezy2Lsql-(...JANCOMiyAss【54")笙LQuEry^.sql-(1~(FANCOM[\A»(51))
3useLibrary
selectdis匸inc匸IRe己且er2nB-orrow2・Ei口:
rirowDei匸已frcmBQrrow2rReader2LwhereReader2・Rno=Barrow2・Rno
12.查询所有借了编号为B02的图书的读者编号(Rno)和读者姓名(Rname)。
SQLQu€fy2jq]-G-ffANCOMMss旣LQuety^sql(U(FANt□祐I\A«(黠))]
□useLibrary
□selec匸Reader^・Rnci#Rtaclur2*RiiaTr;EfroiriBorrcw21Reader2
LwhereReader2・Rno=Borrov2-Rticst.IBorrci>r2HBnc=2
13.查询比编号为B01的图书的价格低的图书的编号(Bno)、书名(Btitle)和价格
(Bprice)。
SQLQuery2.5q|-(..(FAN匚OMRA汀(54))SQLQueryG.sql•(«.FANCOMPASS(51))*曰useLibrary
[4:
selectBnof3r丄匸丄皀『吕匸工丄匕芒fraitBaajt2
'whereBprice
:
3结果
BnoBtitltBprict
HHiinHiimur^
1ri英语世界24
14.查询至少借阅了读者R01借阅的全部书籍的读者编号(Rno)和读者姓名(Rname)。
/SQLQuery1.sql-(1^(FANCCMI\A5S(54))
曰useLibrary
selectRnofRnamefromReader2c
wherenetexists
(selectBnofromBorrowsywherey/Rno=1andnotexists
(select*fromBcrrowSx
|Lwherex»Bno=yBnoandc.Rno=xBRno))
圍结果也消息
RnoRname
1HTj王小闍
15.查询数据库类图书和价格低于50元的图书的信息。
SQLQutryS.sql-(...(FANQ4))S^LQuerylsql-(lenCFANCQMrWs(51))
3iiaeLibrary
3selectfioinEook:
2
|-wherelike'右数扌居库吉"口匸Bprice<=50
□菇果二]消息
1
BnoEtitk
Bautlior
Dprice
25
[1!
數tl结构
2
1
计耳机网络垦础
40
3
4
屮程序设计
43
4
5
败棉岸基础
39
5
6
英语世畀
王大海
24
四、实验结果及分析和(或)源程序调试过程简单查询
useLibrary
selectdistinctRname,RagefromReader2
条件查询
useLibrary
selectdistinctRname,RagefromReader2
whereRage>=18andRage<=20
useLibrary
selectdistinetRno,Rname,RsexfromReader2
whereReducation=研究生'orReducation=本科'
模糊查询
useLibrary
selectdistinetRname,Rsex,RagefromReader2whereRnamelike林'
空值查询
useLibrary
select*fromBorrow2
whereReturnDateisnull
统计个数
useLibrary
selectCOUNT(distinetRno)fromReader2
求平均数
useLibrary
selectavg(Rage)
fromReader2
升降序
useLibrary
select*fromBorrow2
orderbyRnoasc,BorrowDatedesc
条件查询2
useLibrary
selectRnofromBorrow2groupbyRno
havingCoUNT(distinetBno)>=2
连接查询
from
useLibrary
selectReader2.Rname,Book2.Btitle,Borrow2.BorrowDate
Borrow2,Book2,Reader2
whereReader2.Rno=Borrow2.RnoandBorrow2.Bno=Book2.Bno
连接查询2
useLibrary
selectdistinctReader2.*,Borrow2.BorrowDatefromBorrow2,Reader2whereReader2.Rno=Borrow2.Rno
连接查询3
useLibrary
selectReader2.Rno,Reader2.RnamefromBorrow2,Reader2
条件查询3
useLibrary
selectBno,Btitle,BpricefromBook2whereBprice<(selectBpricefromBook2whereBno=1)whereReader2.Rno=Borrow2.RnoandBorrow2.Bno=2
除法查询
useLibrary
selectRno,RnamefromReader2c
notexists
wherenotexists
(selectBnofromBorrow2ywherey.Rno=1and(select*fromBorrow2xwherex.Bno=y.Bnoandc.Rno=x.Rno))
模糊查询
useLibrary
select*fromBook2
whereBtitlelike'%数据库%'orBprice<=50