OracleLes02限制和排序数据_第1页
OracleLes02限制和排序数据_第2页
OracleLes02限制和排序数据_第3页
OracleLes02限制和排序数据_第4页
OracleLes02限制和排序数据_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

限制和排序数据

ObjectivesAftercompletingthislesson,youshouldbeabletodothefollowing:对查询检查的行进行限制对查询检查的行进行排序在限制和排序中使用替代变量课程章节使用以下功能来限制查询结果:

WHERE

子句比较运算符=,<=,BETWEEN,IN,LIKE,andNULL

逻辑运算符AND,OR,andNOT

各种运算符的优先级使用ORDER

BY

子句对输出结果进行排序替代变量DEFINEandVERIFY

命令使用选择功能来限制行“检索部门为90号的所有员工”EMPLOYEES…限制选定的行使用WHERE

子句可以限制返回的行:WHERE

子句在

FROM

子句的后面.SELECT*|{[DISTINCT]column|expression[alias],...}FROMtable[WHEREcondition(s)];SELECTemployee_id,last_name,job_id,department_idFROMemployeesWHEREdepartment_id=90;使用

WHERE

子句SELECTlast_name,job_id,department_idFROMemployeesWHERElast_name='Whalen';字符串和日期字符串和日期值包含在单引号中.字符串值是区分大小写的,日期值是有格式的.默认的日期格式为DD-MON-RR.SELECTlast_nameFROMemployeesWHEREhire_date='17-FEB-96';比较条件Notequalto<>或者!=Betweentwovalues(inclusive)BETWEEN

...AND...MatchanyofalistofvaluesIN(set)MatchacharacterpatternLIKEIsanullvalueISNULLLessthan<Lessthanorequalto<=Greaterthanorequalto>=Greaterthan>Equalto=MeaningOperatorSELECTlast_name,salaryFROMemployeesWHEREsalary<=3000;使用比较条件SELECTlast_name,salaryFROMemployeesWHEREsalaryBETWEEN2500AND3500;使用BETWEEN条件使用BETWEEN条件可以显示值位于一定范围内的行:下限上限SELECTemployee_id,last_name,salary,manager_idFROMemployeesWHEREmanager_idIN(100,101,201);使用IN

条件使用IN

成员条件可以测试表中的值:SELECT first_nameFROM employeesWHERE first_nameLIKE'S%';使用LIKE条件使用LIKE条件可以在搜索字符串值执行通配符搜索.搜索条件可以包含文字字符和数据:%

代表零个或者许多个字符._

代表一个字符.使用

LIKE

条件可以对模式匹配字条进行组合(%,_):可以使用ESCAPE

标识符来转义%

_

符号.SELECTlast_nameFROMemployeesWHERElast_nameLIKE'_o%';SELECTlast_name,manager_idFROMemployeesWHEREmanager_idISNULL;使用NULL

条件IS

NULL

运算符用于测试空值.逻辑条件如果条件是假,则返回真NOT如果其中一个分量条件为真,则返回真OR如果两个分量都为真,则返回真ANDMeaningOperatorSELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREsalary>=10000ANDjob_idLIKE'%MAN%';UsingtheANDOperatorANDrequiresboththecomponentconditionstobetrue:SELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREsalary>=10000ORjob_idLIKE'%MAN%';UsingtheOROperatorORrequireseithercomponentconditiontobetrue:SELECTlast_name,job_idFROMemployeesWHEREjob_idNOTIN('IT_PROG','ST_CLERK','SA_REP');UsingtheNOTOperator课程章节使用以下功能来限制查询结果:WHERE子句比较运算符=,<=,BETWEEN,IN,LIKE,andNULL逻辑运算符AND,OR,andNOT各种运算符的优先级使用ORDER

BY

子句对输出结果进行排序替代变量DEFINEandVERIFY

命令优先顺序规则可以使用括号改变优先顺序规则.Notequalto6

NOT

逻辑条件7

AND

逻辑条件8

OR

逻辑条件9

IS

[NOT]

NULL,LIKE,[NOT]

IN4

[NOT]

BETWEEN5比较条件3连接运算符2

算术运算符1MeaningOperatorSELECTlast_name,job_id,salaryFROMemployeesWHEREjob_id='SA_REP'ORjob_id='AD_PRES'ANDsalary>15000;优先顺序规则SELECTlast_name,job_id,salaryFROMemployeesWHERE(job_id='SA_REP'ORjob_id='AD_PRES')ANDsalary>15000;12课程章节使用以下功能来限制查询结果:WHERE子句比较运算符=,<=,BETWEEN,IN,LIKE,andNULL逻辑运算符AND,OR,andNOT各种运算符的优先级使用ORDERBY子句对输出结果进行排序替代变量DEFINEandVERIFY

命令ORDER

BY

子句使用ORDER

BY子句可以对行进行排序:ASC:升序,这是默认值DESC:降序

ORDER

BY

子句在SELECT

语句的最后:SELECTlast_name,job_id,department_id,hire_dateFROMemployeesORDERBYhire_date;…排序降序:

使用列别名排序:SELECTlast_name,job_id,department_id,hire_dateFROMemployeesORDERBYhire_dateDESC;1SELECTemployee_id,last_name,salary*12annsalFROMemployeesORDERBYannsal;2Sorting使用列的序列号进行排序:

使用多个列进行排序:SELECTlast_name,job_id,department_id,hire_dateFROMemployeesORDERBY3;3SELECTlast_name,department_id,salaryFROMemployeesORDERBYdepartment_id,salaryDESC;4课程章节使用以下功能来限制查询结果:WHERE子句比较运算符=,<=,BETWEEN,IN,LIKE,andNULL逻辑运算符AND,OR,andNOT各种运算符的优先级使用ORDERBY子句对输出结果进行排序替代变量DEFINEandVERIFY

命令替代变量...salary=?……department_id=?…...last_name=?...Iwanttoquerydifferentvalues.SubstitutionVariables使用替换:使用(&)(&&)临时存储值可以在以下情形中使用替换变量:WHERE

条件ORDER

BY

子句列表达式表名整个SELECT

语句SELECTemployee_id,last_name,salary,department_idFROMemployeesWHEREemployee_id=&employee_num;使用&

替换变量使用(&)替换变量提示用户输入一个值:使用&替换变量SELECTlast_name,department_id,salary*12FROMemployeesWHEREjob_id='&job_title';使用替换变量来代替字符和日期Usesinglequotationmarksfordateandcharactervalues:指定列名、表达式和文本SELECTemployee_id,last_name,job_id,&column_nameFROMemployeesWHERE&conditionORDERBY&order_column;SELECTemployee_id,last_name,job_id,&&column_nameFROMemployeesORDERBY&column_name;…使用&&替换变量如果你想重用变量值且不想重复引用时每次都提示用户时使用(&&):课程章节使用以下功能来限制查询结果:WHERE子句比较运算符=,<=,BETWEEN,IN,LIKE,andNULL逻辑运算符AND,OR,andNOT各种运算符的优先级使用ORDERBY子句对输出结果进行排序替代变量DEFINEandVERIFY命令使用DEFINE命令使用DEFINE

命令创建和分配一个值到一个变量中使用UNDEFINE

命令来移除一个变量的定义.DEFINEemployee_num=200SELECTemployee_id,last_name,salary,department_idFROMemployeesWHEREemployee_id=&employee_num;UNDEFINEemployee_numSETVERIFYONSELECTemployee_id,last_name,salaryFROMemployeesWHEREemployee_id=&employee_num;使用VERIFY

命令VERIFY

命令用来切换是否显示替换的变量:QuizWhichofthefollowingarevalidoperatorsfortheWHEREclause?>=ISNULL!=ISLIKEINBETWEEN<>Inthislesson,youshouldhavelearnedhowto:UsetheWHEREclausetorestrictrowsofoutput:UsethecomparisonconditionsUsetheBETWEEN,IN,LIKE,andNULLoperatorsApplythelogicalAND,OR,andNOToperatorsUsetheORDER

BYclausetosortrowsofoutput:Useampersandsubstitutiontorestrictandsortoutputat

runtimeSELECT*|{[DISTINCT]column|expression[alias],...}FROMtable[WHEREcondition(s)][ORDERBY{column,expr,alias}[ASC|DESC]];SummaryPractice2:OverviewThispracticecoversthefollowingtopics:选择数据和更改行的显示顺序使用WHERE

子句限制行的输出使用ORDER

BY

子句对行进行排序在SELECT

语句中使用替换变量1.创建一个查询,显示工资超过12000的员工的姓氏和工资,将你的SQL语句保存到lab2_1.sql文件中,并使用该脚本进行查询。2.创建一个查询,显示员工号

温馨提示

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

评论

0/150

提交评论