您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > Oracle数据库-SQL+PLSQL-Less02-对数据进行限定和排序
1创建一个查询,来显示雇员的名字和工资。其工资要在$2850以上。将该语句保存到一个文件中:p2q1.sql在sqlplus中执行该文件。2.查询出雇员表中部门号为10和30的所有员工的姓名、工作、雇佣日期信息,要求按照雇佣日期的降序进行排序。3.查询出姓名中第三个字母为:“A”的所有员工的姓名。3子句基本语法–用where子句限定查询出的行.–Where子句紧跟在From子句之后.SELECT[DISTINCT]{*|column[alias],...}FROMtable[WHEREcondition(s)];5='CLERK';ENAMEJOBDEPTNO----------------------------JAMESCLERK30SMITHCLERK20ADAMSCLERK20MILLERCLERK106比较操作符操作符===含义等于大于大于或等于小于小于或等于不等于7=comm;ENAMESALCOMM----------------------------MARTIN125014008(list)LIKEISNULL含义在两个值之间(包含着两个值)在列出的值中与给出的字符串匹配是一个空值9操作符•用BETEEN操作符来查询出在某一范围内的行.ENAMESAL-------------------MARTIN1250TURNER1500WARD1250ADAMS1100MILLER1300SQLSELECTename,sal2FROMemp3WHEREsalBETWEEN1000AND1500;LowerlimitHigherlimit10操作符•用IN操作符来检验一个值是否在一个列表中.SQLSELECTempno,ename,sal,mgr2FROMemp3WHEREmgrIN(7902,7566,7788);EMPNOENAMESALMGR-------------------------------------7902FORD300075667369SMITH80079027788SCOTT300075667876ADAMS1100778811用LIKE进行某个字符串值的通配符匹配,来选出某些行.-查询条件中既可以包含字符,也可以包含数字.%代表0个或者多个字符._代表一个字符.12操作符–可以混合使用模式字符串,例如查询出名字中第2个字符是A的员工–如果要匹配%这个字符,可以用\%来表示SQLSELECTename2FROMemp3WHEREenameLIKE'_A%';ENAME----------MARTINJAMESWARD13用ISNULL操作符来检查来查询空值,例如查询出部门经理的员工14,则返回TRUE两个条件中任何一个为TRUE,则返回TRUE如果条件为FALSE,返回TRUE15=11004ANDjob='CLERK';EMPNOENAMEJOBSAL-------------------------------------7876ADAMSCLERK11007934MILLERCLERK1300两个条件都为TRUE,则返回TRUE16=11004ORjob='CLERK';EMPNOENAMEJOBSAL-------------------------------------7839KINGPRESIDENT50007698BLAKEMANAGER28507782CLARKMANAGER24507566JONESMANAGER29757654MARTINSALESMAN1250...7900JAMESCLERK950...14rowsselected.17('CLERK','MANAGER','ANALYST');ENAMEJOB-------------------KINGPRESIDENTMARTINSALESMANALLENSALESMANTURNERSALESMANWARDSALESMAN18怎么去改变优先级呢,其实和四级运算是一样的,用圆括号可以改变操作符的优先级次序,例如SQLSELECTename,job,salFROMempWHEREjob='SALESMAN'ORjob='PRESIDENT'ANDsal1500;大家可以先想一想,上面的语句会返回什么结果ENAMEJOBSAL-------------------------------------------------------------------ALLENSALESMAN1600WARDSALESMAN1250MARTINSALESMAN1250KINGPRESIDENT5000TURNERSALESMAN150020职位,并且工资大于1500的员工信息,该怎么查询呢SQLSELECTename,job,salFROMempWHERE(job='SALESMAN'ORjob='PRESIDENT')ANDsal1500;ENAMEJOBSAL-------------------------------------------------------------------ALLENSALESMAN1600KINGPRESIDENT500021子句–用ORDERBY子句进行行的排序•ASC:升序,缺省•DESC:降序–ORDERBY子句跟在SELECT语句之后SQLSELECTename,job,deptno,hiredate2FROMemp3ORDERBYhiredate;ENAMEJOBDEPTNOHIREDATE-------------------------------------SMITHCLERK2017-DEC-80ALLENSALESMAN3020-FEB-81...14rowsselected.22按照列的别名来进行排序SQLSELECTempno,ename,sal*12annsal2FROMemp3ORDERBYannsal;EMPNOENAMEANNSAL----------------------------7369SMITH96007900JAMES114007876ADAMS132007654MARTIN150007521WARD150007934MILLER156007844TURNER18000...14rowsselected.24创建一个查询,来显示雇员的名字和工资。其工资要在$2850以上。将该语句保存到一个文件中:p2q1.sql在sqlplus中执行该文件。SQLL1*selectempno,ename,salfromempwheresal2850SQLsave'/u01/p2q1.sql'2.查询出雇员表中部门号为10和30的所有员工的姓名、工作、雇佣日期信息,要求按照雇佣日期的降序进行排序。SQLselectename,job,deptno,hiredatefromempwheredeptnobetween10and30orderbyhiredatedesc;25查询出姓名中第三个字母为:“A”的所有员工的姓名。SQLselectempno,ename,job,salfromempwhereenamelike'__A%';EMPNOENAMEJOBSAL-----------------------------------------------------------------------------7698BLAKEMANAGER31357782CLARKMANAGER24507876ADAMSCLERK1100练习案例
本文标题:Oracle数据库-SQL+PLSQL-Less02-对数据进行限定和排序
链接地址:https://www.777doc.com/doc-7870050 .html