资源描述:
《数据库查询语句例题与答案实验三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三数据查询语言一、基本查询使用相应SQL语句,完成如下操作:(1)查询所有用户的用户ID和姓名。selectuid,namefrom[user](2)查询注年龄最小3位用户的用户ID,姓名和年龄。selecttop3(uid),name,datediff(yyyy,birthday,getdate())agefrom[user]orderbybirthdaydesc(3)查询库存小于50本的所有书目信息。select*frombookwherestock<50(4)查询清华大学出版社的所有书目信息。select*fr
2、ombookwherepress='清华大学出版社'(5)查询价格在50-100元的所有的书名。selecttitlefrombookwhereprice>50andprice<100(6)查询姓“张”或“王”或“李”且单名的学生的情况。select*from[user]wherenamelike'张%'ornamelike'李%'ornamelike'王%'andlen(name)=2(7)查询所有书目的书名、出版社及价格,要求出版社升序排列,出版社相同时,按价格从高到底进行排序。selecttitle,press,p
3、ricefrombookorderbypress,pricedesc(8)查询所有有交易记录的用户ID。selectoidfrom[order]wherestate=4二、数据汇总使用相应SQL语句,完成如下操作:(1)查询理工类书目的最高价格、最低价格及平均价格。selectmax(price)max_price,min(price)min_price,avg(price)avg_pricefrombookwherecategory=1(2)查询所有理工类书目的库存总量。selectsum(stock)frombook
4、wherecategory=1(3)查询‘1001’号图书被订购的总次数。selectsum(quantity)fromorderbookwherebookid=1001(4)查询不同状态订单的数量。selectstate,count(state)from[order]groupbystate(5)查询各类别数据的库存总量。selectsum(stock)frombookgroupbycategory(6)查询被订购2次以上(含2次)的图书编号、订购次数,并按照订购次数从高到低进行排序。selectbookid,sum(
5、quantity)fromorderbookgroupbybookidhavingcount(*)>=2orderbysum(quantity)desc三、连接查询使用相应SQL语句,完成如下操作:(1)列出全部用户的用户ID、姓名和状态。selectuid,name,userstatefrom[user],userstatewhere[user].state=userstate.usid(2)查询购买过‘1001’号图书的用户名、性别及购买时间,并按照购买时间降序排列。selectname,sex,ordertimef
6、rom[user],[order],orderbookwhereorderbook.bookid='1001'and[order].oid=orderbook.orderidand[order].state='4'and[order].[user]=[user].uidorderbyordertimedesc(3)查询性别为‘男’且购买过社科类图书的用户ID、用户名及状态。selectuid,name,sex,userstatefrom[user],userstatewhere[user].uidin(select[us
7、er]from[order]wherestate='4'and[order].oidin(selectorderidfromorderbookwherebookidin(selectbidfrombookwherecategory='2')))and[user].sex='1'and[user].state=userstate.usid或者:selectuid,name,sex,userstatefrom[user],userstate,book,orderbook,[order]where[user].sex='1'a
8、ndbook.category='2'and[order].state='4'andorderbook.bookid=book.bidandorderbook.orderid=[order].oidand[user].state=userstate.usidand[order].[user]=[user].uid(1