如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据查询讲解项目知识要点与目标单表查询选择列列别名替换查询结果中得数据【例5、3】查询Book表中图书编号、书名和数量,对其库存数量按以下规则进行替换:若数量为空值,替换为“尚未进货”;若数量小于5,替换为“需进货”;若数量在5-50之间,替换为“库存正常”;若总学分大于50,替换为“库存积压”。列标题更改为“库存”。SELECT图书编号,书名,CASEWHEN数量ISNULLTHEN'尚未进货'WHEN数量<5THEN'需进货'WHEN数量>=5and数量<=50THEN'库存正常'ELSE'库存积压'ENDAS库存FROMBook;计算列值消除结果集中得重复行WHERE子句比较运算大家有疑问的,可以询问和交流【例5、6】查询Bookstore数据库Book表中书名为“网页程序设计”得记录。SELECT书名,单价FROMBookWHERE书名='网页程序设计';【例5、7】查询Book表中单价大于30得图书情况。SELECT*FROMBookWHERE单价>30;逻辑运算逻辑运算举例【例5、8】查询Sell表中已收货且已结清得订单情况。SELECT订单号,是否收货,是否结清FROMSellWHERE是否收货='已收货'AND是否结清='已结清';【例5、9】查询Book表中清华大学出版社和北京大学出版社出版得价格大于25元得图书。SELECT书名,出版社,单价FROMBookWHERE(出版社='清华大学出版社'OR出版社='北京大学出版社')AND单价>=25;或:SELECT书名,出版社,单价FROMBookWHERE(出版社='清华大学出版社'AND单价>=25)OR(出版社='北京大学出版社'AND单价>=25);【思考题】以下语句能否得到正确结果?为什么?SELECT书名,出版社,单价FROMBookWHERE出版社='清华大学出版社'OR出版社='北京大学出版社'AND单价>=25;LIKE运算符范围比较使用IN关键字可以指定一个值表,值表中列出所有可能得值,当与值表中得任一个匹配时,即返回TRUE,否则返回FALSE。使用IN关键字指定值表得格式为:表达式IN(表达式1[,…n])【例5、14】查询Book表中“高等教育出版社”、“北京大学出版社”和“人民邮电出版社”出版得图书得情况。SELECT*FROMBookWHERE出版社IN('高等教育出版社','北京大学出版社','人民邮电出版社');说明:IN关键字最主要得作用是表达子查询。空值比较多表查询FROM子句全连接全连接举例等值连接JOIN连接内连接是系统默认得,可以省略INNER关键字。使用内连接后,FROM子句中ON条件主要用来连接表,其他并不属于连接表得条件可以使用WHERE子句来指定。【例5、26】用JOIN关键字表达下列查询:查找购买了“网页程序设计”图书信息。SELECT书名,订购册数FROMBookJOINSellONBook、图书编号=Sell、图书编号WHERE书名='网页程序设计';【例5、21】用JOIN关键字表达下列查询:查找订购数量大于5本图书和会员姓名和订购册数。SELECT会员姓名,订购册数FROMSellJOINMembersONSell、用户号=Members、用户号WHERE订购册数>5;内连接还可以用于多个表得连接。【例5、22】用JOIN关键字表达下列查询:查找购买了“网页程序设计”且订购数量大于5本得图书和会员姓名和订购册数。SELECTBook、图书编号,会员姓名,书名,订购册数FROMSellJOINBookONBook、图书编号=Sell、图书编号JOINMembersONSell、身份证号=Members、身份证号WHERE书名='网页程序设计'AND订购册数>5;作为特例,可以将一个表与它自身进行连接,称为自连接。若要在一个表中查找具有相同列值得行,则可以使用自连接。使用自连接时需为表指定两个别名,且对所有列得引用均要用别名限定。【例5、23】查找BookStore数据库中订单不同、图书编号相同得图书得订单号、图书编号和订购册数。SELECTa、订单号,a、图书编号,a、订购册数FROMSellASaJOINSellASbONa、图书编号=b、图书编号wherea、订单号!=b、订单号;如果要连接得表中有列名相同,并且连接得条件就是列名相等,那么ON条件也可以换成USING子句。USING(column_list)子句用于为一系列得列进行命名。这些列必须同时在两个表中存在。其中column_list为两表中相同得列名。【例5、24】查找Members表