数据库的限定和排序数据.ppt_第1页
数据库的限定和排序数据.ppt_第2页
数据库的限定和排序数据.ppt_第3页
数据库的限定和排序数据.ppt_第4页
数据库的限定和排序数据.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

限定和排序数据 Itpub技术培训 目的 排序是昂贵的操作限制某一查询所取记录排序查询结果 使用选择限定记录 SELECT FROMempWHEREdeptno 10 排序是昂贵的操作 从开始就考虑优化排序往往花费大量的时间及资源磁盘排序比内存排序慢10000倍 在磁盘Cache存在的情况下基本上也会慢100倍 限定所选择的记录 使用where子句限定返回的记录WHERE子句在FROM子句后 SELECT DISTINCT column alias FROMtable WHEREcondition s 使用WHERE子句 SQL SELECTename job deptno2FROMemp3WHEREjob CLERK ENAMEJOBDEPTNO JAMESCLERK30SMITHCLERK20ADAMSCLERK20MILLERCLERK10 字符串和日期 字符串和日期要用单引号扩起来字符串是大小写敏感的 日期值是格式敏感的缺省的日期格式是 DD MON RR SQL SELECTename job deptno2FROMemp3WHEREename JAMES 注意 数字通常不要使用引号引起来 以免产生数据库歧义及潜在转换 日期格式 SQL select fromv nls parameters PARAMETERVALUE NLS LANGUAGESIMPLIFIEDCHINESENLS TERRITORYCHINANLS CURRENCYRMBNLS ISO CURRENCYCHINANLS NUMERIC CHARACTERS NLS CALENDARGREGORIANNLS DATE FORMATDD MON RR 日期格式 内部以数字形式存储默认显示格式为DD MON RR内部仍然保存日期和时间的所有组成部分Oracle服务器不存在2000年问题 RR日期格式 日期格式 SQL selectname value fromprops wherenamelike DATE NAMEVALUE NLS DATE FORMATDD MON RRNLS DATE LANGUAGEAMERICANExecutionPlan 0SELECTSTATEMENTOptimizer CHOOSE10TABLEACCESS FULL OF PROPS 比较运算符 运算符 含义等于大于大于等于小于小于等于不等于 使用比较运算符 SQL SELECTename sal comm2FROMemp3WHEREsal comm ENAMESALCOMM MARTIN12501400 其它的比较运算符 运算符BETWEEN AND IN list LIKEISNULL 含义在两值之间 包含 匹配列出的值匹配一个字符模式是空值 使用BETWEEN运算符 ENAMESAL MARTIN1250TURNER1500WARD1250ADAMS1100MILLER1300 SQL SELECTename sal2FROMemp3WHEREsalBETWEEN1000AND1500 使用BETWEEN运算符显示某一值域范围的记录 使用IN运算符 使用IN运算符获得匹配列表值的记录 SQL SELECTempno ename sal mgr2FROMemp3WHEREmgrIN 7902 7566 7788 EMPNOENAMESALMGR 7902FORD300075667369SMITH80079027788SCOTT300075667876ADAMS11007788 据说 In最多允许1000个值列表这是一个朋友的测试结果 使用LIKE运算符 使用LIKE运算符执行通配查询查询条件可包含文字字符或数字 可表示零或多个字符 可表示一个字符 SQL SELECTename2FROMemp3WHEREenameLIKE S 2020 3 17 20 可编辑 使用LIKE运算符 使用组合方式匹配字符使用ESCAPE标识符来查找带特殊符号的字符号 SQL SELECTename2FROMemp3WHEREenameLIKE A ENAME JAMESWARD ESCAPE用法 SQL select fromtest NAME test teSQL selectnamefromtestwherenamelike t escape NAME test teSQL SQL selectnamefromtestwherenamelike t escape 未选定行 怎样插入特殊字符 SQL insertintotestvalues aaNAME test teaac SQL showescapeescapeOFFSQL setescapeonSQL showescapeescape hex5c SQL INSERTINTOtestVALUES NAME test teaac 1 使用ISNULL运算符 查询包含空值的记录 SQL SELECTename mgr2FROMemp3WHEREmgrISNULL ENAMEMGR KING 逻辑运算符 运算符ANDORNOT 含义如果组合的条件都是TRUE 返回TRUE如果组合的条件之一是TRUE 返回TRUE如果下面的条件是FALSE 返回TRUE 使用AND运算符 AND需要条件都是TRUE SQL SELECTempno ename job sal2FROMemp3WHEREsal 11004ANDjob CLERK EMPNOENAMEJOBSAL 7876ADAMSCLERK11007934MILLERCLERK1300 使用OR运算符 OR需要条件之一是TRUE SQL SELECTempno ename job sal2FROMemp3WHEREsal 11004ORjob CLERK EMPNOENAMEJOBSAL 7839KINGPRESIDENT50007698BLAKEMANAGER28507782CLARKMANAGER24507566JONESMANAGER29757654MARTINSALESMAN1250 14rowsselected 使用NOT运算符 SQL SELECTename job2FROMemp3WHEREjobNOTIN CLERK MANAGER ANALYST ENAMEJOB KINGPRESIDENTMARTINSALESMANALLENSALESMANTURNERSALESMANWARDSALESMAN 优先级规则 括号将跨越所有优先级规则 次序运算符1所有的比较运算2NOT3AND4OR 优先级规则 ENAMEJOBSAL KINGPRESIDENT5000MARTINSALESMAN1250ALLENSALESMAN1600TURNERSALESMAN1500WARDSALESMAN1250 SQL SELECTename job sal2FROMemp3WHEREjob SALESMAN 4ORjob PRESIDENT 5ANDsal 1500 优先级规则 ENAMEJOBSAL KINGPRESIDENT5000ALLENSALESMAN1600 使用扩号提高优先级 VeryImporatant SQL SELECTename job sal2FROMemp3WHERE job SALESMAN 4ORjob PRESIDENT 5ANDsal 1500 注意 很多人在简单的问题上犯下重大的错误 所以在你的SQL中 使用 来明确你的业务逻辑 ORDERBY子句 使用ORDERBY子句将记录排序ASC 升序 缺省DESC 降序ORDERBY子局在SELECT指令的最后 SQL SELECTename job deptno hiredate2FROMemp3ORDERBYhiredate ENAMEJOBDEPTNOHIREDATE SMITHCLERK2017 DEC 80ALLENSALESMAN3020 FEB 81 14rowsselected 降序排序 SQL SELECTename job deptno hiredate2FROMemp3ORDERBYhiredateDESC ENAMEJOBDEPTNOHIREDATE ADAMSCLERK2012 JAN 83SCOTTANALYST2009 DEC 82MILLERCLERK1023 JAN 82JAMESCLERK3003 DEC 81FORDANALYST2003 DEC 81KINGPRESIDENT1017 NOV 81MARTINSALESMAN3028 SEP 81 14rowsselected 使用列的别名排序 SQL SELECTempno ename sal 12annsal2FROMemp3ORDERBYannsal EMPNOENAMEANNSAL 7369SMITH96007900JAMES114007876ADAMS132007654MARTIN150007521WARD150007934MILLER156007844TURNER18000 14rowsselected 多个列排序 通过ORDERBY列表的顺序来排序 你可使用不在SELECT序列上的列来排序 SQL SELECTename deptno sal2FROMemp3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论