《《SQL入门基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《SQL入门基础》PPT课件.ppt(33页珍藏版)》请在金锄头文库上搜索。
1、SQLSQL入门基础入门基础概要与大纲概要与大纲概要与大纲概要与大纲nSELECT语句的使用语句的使用n表达式、条件语句与运算表达式、条件语句与运算nSQL的子句的子句n表的联合表的联合n子查询、内嵌子查询、内嵌SQL2SELECTSELECT语句的使用语句的使用语句的使用语句的使用n数据报的形成数据报的形成SELECT 和和FROMnSELECTnFROMnSelect表示需要取什么nFrom表示从哪里取3SELECTSELECT语句的使用示例语句的使用示例语句的使用示例语句的使用示例n选择全部列选择全部列nselect*fromchecks4SELECTSELECT语句的使用示例语句的使用
2、示例语句的使用示例语句的使用示例n选择指定列选择指定列nSELECTpayee,remarks,amount,check#fromchecks;5SELECTSELECT语句的使用示例语句的使用示例语句的使用示例语句的使用示例n显示所有行显示所有行nselectamountfromchecksn显示不重复的行显示不重复的行nselectDISTINCTamountfromchecks6表达式、条件语句与运算表达式、条件语句与运算表达式、条件语句与运算表达式、条件语句与运算nSELECTnFROMnWHEREnSelect表示需要取什么nFrom表示从哪里取nWhere表示需要满足哪些条件7表达
3、式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n返回所有行返回所有行nSELECT*FROMBIKES8表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n返回指定行返回指定行nSELECTFROMBIKESWHERENAME=BURLEY9表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n使用表达式使用表达式nSELECTITEM,WHOLESALE,WHOLESALE+0.15FROMPRICE10表达式、条件语句与运算示例表达
4、式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n使用表达式别名使用表达式别名nSELECTITEM,WHOLESALE,(WHOLESALE+0.15)RETAILFROMPRICE11表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n使用表达式列名使用表达式列名nSELECTLASTNAME|,|FIRSTNAMENAMEFROMFRIENDS12表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例nWhere中使用条件表达式中使用条件表达式nSELECTL
5、ASTNAME,YEARS*12-LEAVETAKENREMAININGFROMVACATIONWHERELASTNAMELIKEB%ANDYEARS*12-LEAVETAKEN5013表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n提问:如何解读如下提问:如何解读如下SQLnSELECTLASTNAMEWORKAHOLICSFROMVACATIONWHEREYEARS=5AND(YEARS*12)-LEAVETAKEN)/(YEARS*12)0.50n1、访问的是哪张表;、访问的是哪张表;2、检索的字段显示的名称是什么;、检索的字段显
6、示的名称是什么;3、过滤条件如何解读、过滤条件如何解读14表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例n汇总函数的使用汇总函数的使用count,sum,max,n返回的是一个汇总值,不会返回结果集返回的是一个汇总值,不会返回结果集15表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例nSELECTCOUNT(*)FROMTEAMSTATSWHEREHITS/AB35nSELECTCOUNT(*)NUM_BELOW_350FROMTEAMSTATSWHEREHITS/AB3516表达
7、式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例表达式、条件语句与运算示例nSELECTSUM(SINGLES)TOTAL_SINGLESFROMTEAMSTATSnSELECTMAX(HITS)FROMTEAMSTATS这个语句错在哪?SELECT*FROMTEAMSTATSWHEREHITS=MAX(HITS)17SQLSQL的子句的子句的子句的子句group by & order bygroup by & order bynSELECTnFROMnWHEREnGROUPBYnORDERBY18SQLSQL的子句的子句的子句的子句group by & order
8、bygroup by & order bynGroup by 是分组是分组nOrder by 是排序是排序nGroup by返回的各个分组结果只有一个返回的各个分组结果只有一个nOrder by返回的排序结果一般是多个值返回的排序结果一般是多个值nGroup by一般与汇总函数搭配使用一般与汇总函数搭配使用nOrder by可以和可以和group by 同时使用,只不过同时使用,只不过order by必须放在所有子句的最后必须放在所有子句的最后19SQLSQL的子句示例的子句示例的子句示例的子句示例nSELECT*FROMCHECKS20SQLSQL的子句的子句的子句的子句order by o
9、rder by 示例示例示例示例nSELECT*FROMCHECKSORDERBYCHECK#1、对check#降序怎么做?2、同时对check#,payee排序怎么做?21SQLSQL的子句的子句的子句的子句group by group by 示例示例示例示例nSELECTPAYEE,SUM(AMOUNT)FROMCHECKSGROUPBYPAYEE22SQLSQL的子句的子句的子句的子句group by group by 示例示例示例示例n使用groupby时,select后面检索的结果必须出现且仅只能出现在groupby中使用的字段或者字段组合nSELECTPAYEE,SUM(AMOUN
10、T)FROMCHECKSGROUPBYPAYEE(正确)nSELECTPAYEE,AMOUNTFROMCHECKSGROUPBYPAYEE(错误)为什么第一个是正确的,第二个是错误的23SQLSQL的子句的子句的子句的子句group by group by 示例示例示例示例n使用Groupby相当于对分组后的集合分别进行SUM或者max等汇总操作24表的联合表的联合表的联合表的联合nSELECT,nFROM,nWHEREandn多数情况下使用等值联合,即关联条件中使用=将表与表之间相关联的字段联系起来25表的联合示例表的联合示例表的联合示例表的联合示例Partnum(商品代码)是关联字段26表
11、的联合示例表的联合示例表的联合示例表的联合示例nSELECTO.ORDEREDON,O.NAME,O.PARTNUM,P.PARTNUM,P.DESCRIPTIONFROMORDERSO,PARTPWHEREO.PARTNUM=P.PARTNUM27表的联合示例表的联合示例表的联合示例表的联合示例n提问:下列语句是对还是错,为什么nSELECTE.NAME,E.ID,EP.SALARYFROMEMPLOYEE_TBLE,EMPLOYEE_PAY_TBLEPWHEREE.NAMELIKE%MITHANDEP.ID=10009ANDE.ID=1000928子查询、内嵌子查询、内嵌子查询、内嵌子查询
12、、内嵌SQLSQLnSELECT,nFROMnWHEREn子查询是一种把查询的结果作为参数返回给上一级查询使用的查询29子查询、内嵌子查询、内嵌子查询、内嵌子查询、内嵌SQLSQL示例示例示例示例n表联合的例子nSELECTO.QUANTITYFROMORDERSO,PARTPWHEREO.PARTNUM=P.PARTNUMANDP.PRICE=15.25n子查询的例子nSELECTO.QUANTITYFROMORDERSOWHEREO.PARTNUMIN(SELECTP.PARTNUMFROMPARTPWHEREP.PRICE=15.25)什么情况下上例中的in可以换成=30子查询、内嵌子查
13、询、内嵌子查询、内嵌子查询、内嵌SQLSQL示例示例示例示例n子查询中select后面出现的列个数、顺序必须与上一级查询where条件中的列个数、顺序要一致,即上级查询中的条件参数和子查询中的返回参数的个数和顺序要一致提问:查询购买商品总数量超过15件的客户所购买的商品名称清单,并按照客户名字的降序排序显示(表和数据请参考26页的内容)31作业作业作业作业n有下面三个关系表:nCARD借书卡表(CNO卡号,NAME姓名,CLASS班级)nBOOKS图书表(BNO书号,BNAME书名,AUTHOR作者,PRICE单价,QUANTITY库存册数)nBORROW借书记录表(CNO借书卡号,BNO书号,RDATE还书日期)n1、查询借阅了“水浒”一书的读者,输出姓名及班级n2、查询现有图书中价格最高的图书,输出书名及作者n3、查询书名包括“网络”关键词的图书,输出书号、书名、作者n4、查找至今无人借阅的图书的书名、作者、库存册数n5、查询当前借了“计算方法”但没有借“计算方法习题集”的读者,输出其借书卡号,并按卡号降序排序输出32谢谢谢谢