欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    【精品】SQL常识精品ppt课件.ppt

    • 资源ID:71304219       资源大小:1.49MB        全文页数:97页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【精品】SQL常识精品ppt课件.ppt

    SQL常识什么是什么是 SQL?nSQL 是用于访问和处理数据库的标准的计算是用于访问和处理数据库的标准的计算机语言。机语言。nSQL指结构化查询语言nSQL使我们有能力访问数据库nSQL是一种ANSI的标准计算机语言n注:注:ANSI,美国国家标准化组织nSQL 是一种标准是一种标准-但是但是.nSQL是一门ANSI的标准计算机语言,用来访问和操作数据库系统。SQL语句用于取回和更新数据库中的数据。SQL可与数据库程序协同工作,比如MSAccess、DB2、Informix、MSSQLServer、Oracle、Sybase以及其他数据库系统。n不幸地是,存在着很多不同版本的SQL语言,但是为了与ANSI标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如SELECT、UPDATE、DELETE、INSERT、WHERE等等)。n除了SQL标准之外,大部分SQL数据库程序都拥有它们自己的私有扩展!SQL发展历史发展历史n1970:E.J.Codd发表了关系数据库理论(relationaldatabasetheory);n1974-79:IBM以Codd的理论为基础开发了“Sequel”,并重命名为SQL;n1979:Oracle发布了商业版SQLn1981-84:出现了其他商业版本,分别来自IBM(DB2),DataGeneral(DG/SQL),RelationalTechnology(INGRES);nSQL/86:ANSI跟ISO的第一个标准;nSQL/89:增加了引用完整性(referentialintegrity);nSQL/92(akaSQL2):被数据库管理系统(DBMS)生产商广发接受;n1997+:成为动态网站(Dynamicwebcontent)的后台支持;nSQL/99:Corelevel跟其他8种相应的level,包括递归查询,程序跟流程控制,基本的对象(object)支持包括oids;nSQL/2003:包含了XML相关内容,自动生成列值(columnvalues);n2005-09-30:“Dataisthenextgenerationinside.SQListhenewHTML”!TimOeilly提出了Web2.0理念,称数据将是核心,SQL将成为“新的HTML;nSQL/2006:定义了SQL与XML(包含XQuery)的关联应用;n2006:Sun公司将以SQL基础的数据库管理系统嵌入JavaV6n2007:SQLServer2008(Katmi)在过去的SQL2005基础上增强了它的安全性,主要在:简单的数据加密,外键管理,增强了审查,改进了数据库镜像,加强了可支持性。数据库发展大事记n1951:Univac系统使用磁带和穿孔卡片作为数据存储。1956:IBM公司在其Model305RAMAC中第一次引入了磁盘驱动器1961:通用电气(GE)公司的CharlesBachman开发了第一个数据库管理系统IDS1969:E.F.Codd发明了关系数据库。1973:由JohnJ.Cullinane领导Cullinane公司开发了IDMS一个针对IBM主机的基于网络模型的数据库。1976:Honeywell公司推出了MulticsRelationalDataStore第一个商用关系数据库产品。1979:Oracle公司引入了第一个商用SQL关系数据库管理系统。1983:IBM推出了DB2数据库产品。1985:为Procter&Gamble系统设计的第一个商务智能系统产生。1991:W.H.“Bill”Inmon发表了”构建数据仓库”。SQL DML 和和 DDLn可以把SQL分为两个部分:数据操作语言(DML)和数据定义语言(DDL)。nSQL(结构化查询语言)是用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。SQL 的 DMLn查询和更新指令构成了SQL的DML部分:nSELECT-从数据库表中获取数据nUPDATE-更新数据库表中的数据nDELETE-从数据库表中删除数据nINSERT-向数据库表中插入数据SQL 的 DDL nSQL的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。nSQL中最重要的DDL语句:nCREATE DATABASE-创建新数据库nALTER DATABASE-修改数据库nCREATE TABLE-创建新表nALTER TABLE-变更(改变)数据库表nDROP TABLE-删除表nCREATE INDEX-创建索引(搜索键)nDROP INDEX-删除索引SQL-DCLnDCL,即DataControlLanguage,数据控制语言。nDCL用于控制对数据库对象操作的权限,它使用GRANT和REVOKE语句对用户或用户组授予或回收数据库对象的权限。INFORMIX 数据库介绍Informix动态服务器-IDSnInformix-IDS区别于informix早期的数据库系统informix-SE。早期的ISE系统与其它许多数据库管理系统一样,是在操作系统的文件系统里建立一个单独目录,所有相关数据表存储于此,对数据库数据的管理通过操作系统的文件管理系统完成。IDS后,数据库开始使用原始设备(RAW)存储数据库相关数据,对数据库的管理基本抛开了操作系统的文件管理系统。建立数据库n语法nCREATEDATABASEdatabase INdbspace WITHBUFFEREDLOGnINdbspace虽是可选项,但建立数据库时一定要选,指定建立在那个数据空间上。nWITHBUFFEREDLOG指定数据库是否带日志及日志类型,大多数情况,选择WITHBUFFEREDLOG。数据库的系统表nIDS安装时自动建立sysmaster系统数据库,其中存放了以sys开头一系列系统表。n在数据建立系统自动建立一系列以sys开头系统表。nSystablenSyscolumnsnSELECTb.tabnameFROMsyscolumnsa,systablesbnWHEREcolname=proposalnonANDa.tabid=b.tabidnORDERby1环境变量n系统用户中常用环境变量nexportINFORMIXDIR=/usr/informixnexportDBDATE=Y4MD/nexportINFORMIXSERVER=hp3440_5nexportONCONFIG=onconfig.hp3440_5nexportTERMCAP=/usr/informix/etc/termcapnexportPATH=.:$PATH:$INFORMIXDIR/bin:/bin:/usr/bin:/usr/sbinnexportLD_LIBRARY_PATH=/usr/informix/lib:/usr/informix/lib/esqlINFORMIX SQL 初步SELECT语句nSELECT语句由允许您查看关系数据库中的数据的子句构成。这些子句允许您从一个或多个表或视图中选择列和行、指定一个或多个条件、对数据进行排序和总结以及将选择的数据放置在临时表中。n1.SELECT子句n2.FROM子句n3.WHERE子句n4.ORDERBY子句n5INTOTEMP子句n6.GROUPBY字句n7.HAVING字句SELECT语句n只有SELECT和FROM子句是必需的。这两个子句构成每个数据库查询的基础,原因是它们指定要检索的表和列。使用以下列表中的一个或多个其它子句:n添加WHERE子句以选择特定行或创建连接条件。n添加ORDERBY子句以更改生成数据的顺序。n添加INTOTEMP子句以将结果保存为表以供进一步查询。nGROUPBY和HAVING字句与聚集函数配合使用,对检索结果进行特定分类SELECT子句nSELECT字句中的字句中的*,及及FIRST,DISTINCT,UNIQUE关键关键字字nSELECT*FROMprpdkindnSELECTriskcode,kindcode,kindcnameFROMprpdkindnSELECTFIRST10riskcode,kindcode,kindcnameFROMprpdkindnSELECTFIRST10DISTINCTriskcode,kindcode,kindcnameFROMprpdkindnSELECTFIRST10UNIQUEriskcode,kindcode,kindcnameFROMprpdkindn-E01.shSELECT字句nSELECT字句中的表达式字句中的表达式n数值型字段可以使用数值型字段可以使用+、-、*、/n字符型字段取子字段字符型字段取子字段 n1,n2n字符型字段并置即字符型字段连接字符型字段并置即字符型字段连接|nCASE表达式表达式SELECT字句SELECTFIRST10policyno,sumpremium+sumdiscountbzbfFROMprpcmainWHEREstartdate=2012/03/20;SELECTFIRST10policyno9,17FROMprpcmainWHEREstartdate=2012/03/20;SELECTFIRST10policyno|的保费=|sumpremiumFROMprpcmainWHEREstartdate=2012/03/20;SELECTcurrentfromprpdkind;SELECT“13010000”comcode,kindcodeFROMprpdkind;SELECT字句SELECTpolicyno,startdate,enddate,sumpremium,CASEWHENstartdate2012/05/01ANDenddate=2012/05/31THENsumpremium*(enddate-date(2012/05/01)+1)/(enddate-startdate+1)WHENstartdate2012/05/31THENsumpremium*31/(enddate-startdate+1)WHENstartdate=2012/05/01ANDenddate=2012/05/01ANDenddate2012/05/31THENsumpremium*(date(2012/05/31)-startdate+1)/(enddate-startdate+1)ENDyzbfFROMprpcmainWHEREmakecom=13010300ANDpolicynoISNOTNULLANDstartdate=2012/05/01INTOTEMPtmp_yzbfWITHNOLOG;UNLOADTOyzbf.unlSELECT*FROMtmp_yzbfORDERBYstartdate;n-e02.shSELECT字句nSELECTb.policyno,b.sumpremium,a.clausetype,nCASEa.clausetypenWHENF41THEN非营业用汽车产品nWHENF42THEN家庭自用汽车产品nWHENF43THEN营业用汽车产品nWHENF44THEN摩托车产品nWHENF45THEN拖拉机产品nELSE其它nENDnFROMprpcitem_cara,prpcmainbnWHEREa.proposalno=b.proposalnonANDb.startdate=2012/04/01SELECT字句n选择项中的子查询选择项中的子查询nSELECTFIRST10a.proposalno,sumpremium,n(SELECTSUM(premium)FROMprpcitemkindbnWHEREa.proposalno=b.proposalno)ASspremiumnFROMprpcmainanWHEREstartdate=today-1优化查询伪指令n前导符n-+n+n/*+*/n相同点,起注释作用n不同点:第一个只在本行起作用,后两个可以跨行。优化查询伪指令n几个常用伪指令FROM字句使用其它实例或数据库的表n在informix中一次只能打开一个数据库,使用其中的表直接引用表名即可n使用其它数据库的表需要在表名前加数据库名和冒号,即databasename:tablenamen使用其它实例即SERVER的数据库中的表的写法是databasenameservername:tablenamen为了简化sql的书写,使用别名是必要的WHERE字句n关系运算符n=n!=n=n=nBETWEEN条件,相当于=的组合nIN条件相当于OR连用underwriteflagIN(1,3)nISNULL条件NULL是一个特殊值,”,”“,都不是空,ISNULL与!=“”不是一码事。nNOT条件可以与IN组成NOTIN,与ISNULL组成ISNOTNULLnLIKE条件比较字符是否匹配,可以使用下列通配符%与零个或多个字符匹配-与单个字符匹配转义,将紧跟其后的特殊字符当普通字符处理nMATCHES条件与LIKE相似,匹配字符串,但使用的通配符不同,MATCHES使用通配符如下:子查询nIN子查询WHEREcomcodeIN(SELECTcomcodeFROMcompanyWHERE-)如果子查询返回的结果比较多时,需要考虑其它方法EXISTS子查询当子查询返回一行时,条件为真nALL和ANY/SOMEALL与子查询返回的所有结果进行比较ANY与返回值比较,只要有一条符合即可条件连接符nAND必须同时满足才为真。OR其中之一满足即为真INTO TEMP 语句nINTOTEMPtmp_table_namenINTOTEMPtmp_tableWITHNOLOGn区别:第一种形式执行时使用日志,第二种形式不使用日志,可以提高运行效率;n使用此字句,在SELECT选择的字段必须命名,且命名不得重复。nSelectcomcode,sum(sumpremium)fromnSelectcomcode,mkcomcomcodefromGROUP BY子句n使用GROUPBY子句可为每一组生成单独一行的结果。组是行的集合,其中的行的所有列出的列均具有相同的值。n如果在选择列表中使用聚集函数和一列或多列,则必须将所有未用作聚合或时间表达式的一部分的列名放入GROUPBY子句。n可以用代表位置的数字替换字段名GROUP BY子句nSelectcomcodefromprpcmainwherestartdate=today-1groupby1selectcomcode,startdate,sum(sumpremium)bffromprpcmainwherestartdatebetween“2012/03/01”and“2012/03/31”groupby1,2GROUP BY子句nGROUPBY子句中的NULL值在列于GROUPBY子句的列中,每一包含null值的行属于一个单独的组。也就是,所有null值分在同一组中。HAVING子句n使用HAVING子句可将一个或多个限定条件应用到组。nHAVING将一个已计算的组的属性与另一个已计算的组的属性或者常量进行比较。n1)返回所有多于两项商品的订单中,每项商品的平均总价。nSELECTorder_num,AVG(total_price)FROMitemsnGROUPBYorder_numHAVINGCOUNT(*)2n2)列出在同一个月中进行的呼叫次数不少于两次的客户,及其n呼叫月份。nSELECTcustomer_num,EXTEND(call_dtime,MONTHTOMONTH)nFROMcust_callsGROUPBYl,2HAVINGCOUNT(*)1HAVING子句n3)使用HAVING子句对GROUPBY列的值以及已计算的值设置条件。n此示例返回cust_code、customer_num和call_time,并对接收到的所有来自客户的,customernum小于120的呼叫按callcode进行分组:nSELECTcustomer_num,EXTEND(call_dtime),call_codeFROMcust_callsGROUPBYcall_code,2,1HAVINGcustomer_num10ORDER BY子旬nORDERBY子句按指定的列或表达式对查询结果进行排序。n可以使用位置数字代替select中的选取字段n可以对子字符串进行排序nSelectpolicynofromprpcmainwherestartdate=today-1orderbypolicyno9,16Informix SQL的内部函数Informix的内部函数n聚集函数n1、AVG平均值平均值n2、COUNT记录计数记录计数n3、MAX最大值最大值n4、MIN最小值最小值n5、RANGE最大值与最小值之差最大值与最小值之差n6、STDEV标准偏差标准偏差n7、SUM求和求和n8、VARIANCE估计方差估计方差Informix的内部函数n时间函数n1、day月份中的第几天n2、weekday 星期数,星期日是0n3、month月份n4、year年份n5、today当日日期n6、current函数被执行时的时间,可到百分之一秒Informix的内部函数n格式化时间DATETIMEnEXTEND(时间类型字段,限定符)n限定符n1TOn2,其中n1,n2可以是year,month,day,hour,minut,second,fraction,n1要大于等于n2Informix的内部函数Informix的内部函数n日期转换函数nDATE返回系统指定格式的日期nTO_CHAR返回字符型时间nTO_DATE返回自定义格式日期Informix的内部函数nTO_CHA尺函数:TO_CHAR函数把一个DATE或DATETIME值转换成字符串。字符串包含sourcedate参数中指定的日期,并用format_string参数中指定的格式表示这个日期。n%A语言环境中定义的完整weekday名n%B语言环境中定义的完整月份名n%d用十进制数表示的每个月的日期n%Y用4位十进制数表示的年份n%R24小时表示法的时间nSELECTFIRST10TO_CHAR(startdate,”%B%d%Y”)FROMPRPCMAINInformix的内部函数nTO_DATE函数:TO_DATE函数把一个字符串转换成DATETIME值。这个函数根据format_string参数指定的格式,把char_expression参数评估为日期,并返回等价的日期值。如果char_expression是null,就返回null值。nUPDATEtab1SETbegin_date=TO_DATE(WednesdayJuly23,199718:45,%A%B%d,%Y%R);Informix的内部函数nLOWERnUPPERnINITCAPnREPLACEnSUBSTRnSUBSTRINGnLPADnRPADInformix的内部函数nREPLACE 替换指定字符串替换指定字符串SELECTFIRST10proposalno,REPLACE(proposalno,DAA,TEST)npsalnoFROMprpcmainnSUBSTR和和SUBSTRING 截取子串,功能相截取子串,功能相同,表达方式不同同,表达方式不同nSELECTFIRST10SUBSTRING(proposalnoFROM4FOR8)a1,SUBSTR(proposalno,4,8)a2FROMprpcmain;nLPAD和和RPAD 重复添加指定符号至指定长度重复添加指定符号至指定长度nSELECTFIRST10LPAD(proposalno,10,-)a1,RPAD(proposalno,10,#)a2FROMprpcmain;nSELECTFIRST10LPAD(proposalno,24,-)a1,RPAD(proposalno,24,#)a2FROMprpcmain;Informix的内部函数nLENGTH计算字符串长度nSELECTFIRST10LENGTH(arbitboardname)a1,arbitboardname1,60nFROMprpcmainnNVL将空值转换为指定值nSELECTFIRST10LENGTH(arbitboardname)a1,arbitboardname1,10,NVL(arbitboardname,ThisItemIsNULL)a2FROMprpcmainSQL 进阶SQL中的表连接查询中的表连接查询中的表连接n当我们从两个或两个以上的表选择数据时,当我们从两个或两个以上的表选择数据时,就要用到表连接。就要用到表连接。n要从两个或多个表中选择数据,在FROM子句中指定表名。添加WHERE子句以在每个表中的至少一个相关列间创建连接条件。此WHERE子句创建临时组合表,在其中,满足连接条件的每一对行都被链接以组成单个行。n简单连接根据每个表中某列的关系组合来自两个或多个表的信息。组合连接根据每个表中两个或多个列之间的关系连接两个或多个表。n要创建连接,必须在每个表中至少一列之间指定称为连接条件的关系。因为要对列进行比较,所以它们必须具有兼容的数据类型。当连接大型表时,对连接条件中的列进行索引会提高性能。查询中的表连接查询中的表连接n创建笛卡尔积创建笛卡尔积n当执行未显式声明表之间的连接条件的多表查询时,就创建了笛卡尔积。n笛卡尔积由表的行的每种可能的组合构成。此结果通常很大且不实用。nInformix语法nSELECT*FROMt1,t2;nANSI语法nSELECT*FROMt1CROSSJOINt2;查询中的表连接查询中的表连接n等值连接和自然连接等值连接和自然连接n等值连接是基于相等或匹配列值的连接。在WHERE子句中,使用作为比较运算符的等号(=)来表示这一相等关系;自煞连接是等值连接的一种,构建它来使连接列不会多余地显示数据。n等值连接和自然连接可以用于多表连接查询中的表连接查询中的表连接n自连接自连接n连接不一定总是涉及两个不同的表。可以将表连接至它本身,创建自连接。当想要将列中的值与同一列中的其它值进行比较时,将表连接至它本身非常有用。n050200车损050600三责050900不计免赔n查询保单的车损、三责、不计免赔险,结果显示为一行查询中的表连接查询中的表连接nSELECTFIRST100a.proposalno,a.premiumcsbf,b.premiumszbf,c.premiumbjmpbfnFROMprpcitemkinda,prpcitemkindb,prpcitemkindcnWHEREa.startdate=today-1nANDa.kindcode=050200nANDb.kindcode=050600nANDc.kindcode=050900nANDa.proposalno=b.proposalnonANDa.proposalno=c.proposalno查询中的表连接查询中的表连接n外连接外连接n内连接同等看待两个或多个连接的表,但外连接不同等看内连接同等看待两个或多个连接的表,但外连接不同等看待两个或多个连接的表。外连接使其中一个表成为控制表待两个或多个连接的表。外连接使其中一个表成为控制表(也称为外部表),控制其它从属表(也称为内部表)。(也称为外部表),控制其它从属表(也称为内部表)。n在内连接或简单连接中,结果只包含满足连接条件的行组在内连接或简单连接中,结果只包含满足连接条件的行组合。废弃不满足连接条件的行。合。废弃不满足连接条件的行。n在外连接中,结果包含满足连接条件的行与控制表中的行在外连接中,结果包含满足连接条件的行与控制表中的行(如果在从属表中找不到匹配的行则将废弃这些行)的组(如果在从属表中找不到匹配的行则将废弃这些行)的组合。在从属表中没有相匹配的行的控制表在从从属表选择合。在从属表中没有相匹配的行的控制表在从从属表选择的列中包含的列中包含NULLNULL值。值。n外连接允许您在应用连接条件之前将连接过滤器应用于内外连接允许您在应用连接条件之前将连接过滤器应用于内部表。部表。查询中的表连接查询中的表连接nANSI连接语法连接语法nFROM子句关键字相应的结果集CROSSJOIN笛卡儿乘积(所有可能的行对)INNERJOIN仅对满足连接条件的CROSS中的列LEFTOUTERJOIN从表中满足条件的行,和主表中的所有行RIGHTOUTERJOIN与LEFT相同,但两个表的角色互换FULLOUTERJOINLEFTOUTER和RIGHTOUTER中所有行的超集n后四类在关系模型的文献中共同称为“连接类型”,CROSSJOIN会忽略连接表中的数据值,返回所有可能的行对。n在内连接(或简单连接)中,结果只包含满足连接条件的行的联合。n外连接保留可能会被内连接所废弃的行。在外连接中,结果包含满足连接连接条件的行和主表中可能被内连接废弃的行的联合。主表中的行,如果在从表中没有匹配的行,则它们会在从从表中选择的列中包含null值。查询中的表连接查询中的表连接查询中的表连接查询中的表连接查询中的表连接查询中的表连接n在外连接中,在ON子句中指定的连接过滤器(表达式)确定从表的哪些行要连接到主表(或外表)。根据定义,主表返回其在连接表中的所有行。也就是说,ON子句中的连接过滤器对主表不起任何作用。n如果ON子句对主表指定连接过滤器,则数据库服务器只将那些满足连接过滤器条件的主表的行连接到从表中的行。连接结果包括来自主表的所有行。对于主表中不满足连接过滤器条件的行,会使用null值对从列进行扩展。查询中的表连接查询中的表连接查询中的表连接查询中的表连接查询中的表连接查询中的表连接n多表连接示例查询中的表连接查询中的表连接nSELECTc.customer_num,c.lname,o.order_num,i.stock_num,i.manu_code,i.quantitynFROMcustomerc,LEFTOUTERJOIN(orderso,itemsi)nWHEREc.customer_num=o.customer_numnANDo.order_num=i.order_numnANDmanu_codeIN(KAR,SHM)nORDERBYInamen首先对orders和items表执行简单连接,并检索manu_code为KAR或SHM的商品的所有订单的信息。然后,它执行外连接以将此信息与控制customer表的数据组合。查询中的表连接查询中的表连接n对外连接语法的对外连接语法的Informix扩展扩展n对外连接语法的Informix扩展在外连接的开始处使用OUTER关键字。当使用Informix语法时,必须在WHERE子句中包括连接条件。在将Informix语法用于外连接时,数据库服务器支持以下三种基本外连接类型:n对两个表的简单外连接n与第三个表进行简单连接的外连接n将两个表与第三个表进行外连接查询中的表连接查询中的表连接n外连接必须具有SELECT子句、FROM子句和WHERE子句。连接条件在WHERE子句中表述。n要将简单连接转换为外连接,在FROM子句中从属表的名称前面直接插入关键字OUTERn可以在查询中多次包括OUTER关键字。查询中的表连接查询中的表连接n简单连接简单连接n对customer和cust_calls表的简单连接的示例。nSELECTc.customer_num,c.lname,pany,c.phone,u.call_dtime,u.call_descrnFROMcustomerc,cust_callsunWHEREc.customernum=u.customernum查询中的表连接查询中的表连接n简单外连接简单外连接nSELECTc.customer_num,c.lname,pany,c.phone,u.call_dtime,u.call_descrnFROMcustomerc,OUTERcust_callsunWHEREc.customertlUffl=u.customernum查询中的表连接查询中的表连接nselectFIRST10a.policyno,b.proposalno,b.kindcode,b.kindname1,20nFROMt_cmaina,OUTERt_kindbnWHEREa.proposalno=b.proposalno;nselectFIRST10a.policyno,b.proposalno,b.kindcode,b.kindname1,20nFROMt_kindb,OUTERt_cmainanWHEREa.proposalno=b.proposalno;n通过表的位置,实现左连接与右连接n示例e04查询中的表连接查询中的表连接n多表外连接多表外连接nSELECTc.customer_num,c.lname,order_date,call_dtime,o.order_num,nFROMcustomerc,OUTERorderso,OUTERcust_callxnWHEREc.customer_num=o.customer_numnANDc.customer_num=x.customer_numn分别将从属表orders和cust_calls连接至控制表customer,从属表间不连接。查询中的表连接查询中的表连接n组合外连接的连接组合外连接的连接nSELECTc.customer_num,c.lname,o.order_num,stock_num,manu_code,quantitynFROMcustomerc,OUTER(orderso,OUTERitemsi)nWHEREc.customer_num=o.customer_numnANDo.order_num=i.order_numn首先对orders和items表执行外连接,并检索有关manucode为KAR或SHM的商品的所有订单的信息。然后,它执行组合此信息与控制表customer中的数据的另一个外连接。表连接总结n表连接有自然连接和外连接两种方式nInformixsql中有两种方式实现外连接ANSI方式和informix扩展方式n两种方式不可一起使用即不可同时出现在一个sql语句中nANSI连接条件通过ON语句实现,informix方式的连接条件直接写入WHERE语句数据修改数据的增加、删除与修改INSERT添加数据n1、INSERT添加一行n2、LOAD批量添加n3、INSERTINTOtableSELECT语句nInsertintoprpcmain(startdate)values(today)nInsertintoprpcmainvalues(“”,”,”13010400”,”)n要求添加的值得数据类型与所列字段数据类型匹配,其它字段允许空值nLoadfrom“prpcmain.unl”insertintoprpcmainn要求按指定分隔符分割各值,每行数值个数与表的字段数相等,且数据类型匹配DELETE删除数据nDELETEFROMtableWHERE条件n执行DELETE语句一定要有where条件n对where条件一定要仔细、认真,以保证所删除数据是要删除的数据UPDATE更新数据n1、选择行更新nUPDATEcustomerSETfname=Barnaby,lname=DorflerWHEREcustomer_num=103n2、用统一值更新nUPDATEstockSETunit_price=unit_price*1.05WHEREmanu_code=HROUPDATE更新数据n3、用选择的值更新用选择的值更新nUPDATEcustomerSET(fname,lname)=(Barnaby,Dorfler)WHEREcustomer_num=103nUPDATEcustomerSET(address1,address2,city,state,zipcode)=(SELECTaddress1,address2,city,state,zipcodeFROMnewaddrWHEREnewaddr.customer_num=customer.customer_num)WHEREcustomer_numIN(SELECTcustomer_numFROMnewaddr)

    注意事项

    本文(【精品】SQL常识精品ppt课件.ppt)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开