资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
二、对数据进行限定和排序二、对数据进行限定和排序 目标目标ll结束本节课后,应当达到如下结束本节课后,应当达到如下: :在一个查询中限定查询出的行在一个查询中限定查询出的行对查询出的行进行排序对查询出的行进行排序用用“ “选择选择” ”限定行限定行“查询出查询出查询出查询出departmentdepartment为为为为1010的的的的所有员工所有员工所有员工所有员工 EMPEMP EMPNO ENAME JOB . DEPTNO 7839 KINGPRESIDENT 10 7698 BLAKEMANAGER 30 7782 CLARKMANAGER 10 7566 JONESMANAGER 20 . EMPEMP EMPNO ENAME JOB . DEPTNO 7839 KINGPRESIDENT 10 7782 CLARKMANAGER 10 7934 MILLER CLERK 10选择查询出的行选择查询出的行用用wherewhere子句限定查询出的行子句限定查询出的行.WhereWhere子句紧跟在子句紧跟在FromFrom子句之后子句之后.SELECTDISTINCT *| column alias, .FROM tableWHEREcondition(s);运用运用WHEREWHERE子句子句SQL SELECT ename, job, deptno 2 FROM emp 3 WHERE job=CLERK;ENAME JOB DEPTNO- - -JAMES CLERK 30SMITH CLERK 20ADAMS CLERK 20MILLER CLERK 10字符串和日期字符串和日期字符串和日期值应当用单引号括起来字符串和日期值应当用单引号括起来.字符串值大小写敏感,日期值对于日期的字符串值大小写敏感,日期值对于日期的格式敏感。格式敏感。缺省的日期值格式:缺省的日期值格式: DD-MON-YYDD-MON-YY.例如:例如:23-09-02.23-09-02.为为0202年年99月月2323日日SQL SELECTename, job, deptno 2 FROM emp 3 WHEREename = ;JAMES比较操作符比较操作符操作符操作符= = =含义含义等于等于大于大于大于或等于大于或等于小于小于小于或等于小于或等于不等于不等于使用比较操作符使用比较操作符SQL SELECT ename, sal, comm 2 FROM emp 3 WHERE sal SELECTename, sal 2 FROM emp 3 WHEREsal BETWEEN 1000 AND 1500;LowerlimitHigherlimitll用用BETEENBETEEN操作符来查询出在某一范围操作符来查询出在某一范围内的行内的行. .使用使用ININ操作符操作符ll用用ININ操作符来检验一个值是否在一个操作符来检验一个值是否在一个列表中列表中. .SQL SELECTempno, ename, sal, mgr 2 FROM emp 3 WHEREmgr IN (7902, 7566, 7788); EMPNO ENAME SAL MGR- - - - 7902 FORD 3000 7566 7369 SMITH 800 7902 7788 SCOTT 3000 7566 7876 ADAMS 1100 7788使用使用LIKELIKE操作符操作符用用用用LIKELIKE进行某个字符串值的通配符匹配,来进行某个字符串值的通配符匹配,来进行某个字符串值的通配符匹配,来进行某个字符串值的通配符匹配,来选出某些行选出某些行选出某些行选出某些行.查询条件中既可以包含字符,也可以包含数字查询条件中既可以包含字符,也可以包含数字查询条件中既可以包含字符,也可以包含数字查询条件中既可以包含字符,也可以包含数字.% % 代表个或者多个字符代表个或者多个字符代表个或者多个字符代表个或者多个字符. _ _ 代表一个字符代表一个字符代表一个字符代表一个字符.SQL SELECTename 2 FROM emp 3 WHEREename LIKE S%;使用使用 LIKELIKE操作符操作符可以混合使用模式字符串可以混合使用模式字符串.如果要匹配这个字符,可以用来表如果要匹配这个字符,可以用来表示示.SQL SELECTename 2 FROMemp 3 WHEREename LIKE _A%;ENAME- MARTINJAMES WARD使用使用 IS NULL IS NULL 操作符操作符ll用用 IS NULLIS NULL操作符来检查有无空值操作符来检查有无空值SQL SELECT ename, mgr 2 FROM emp 3 WHERE mgr IS NULL;ENAME MGR- -KING逻辑操作符逻辑操作符操作符操作符ANDORNOT含义含义两个条件都为两个条件都为TRUE ,则返回则返回TRUE两个条件中任何一个为两个条件中任何一个为TRUE,则则返回返回TRUE如果条件为如果条件为FALSE,返回返回TRUE使用使用 ANDAND操作符操作符AND AND 需要所有的条件都为需要所有的条件都为需要所有的条件都为需要所有的条件都为TRUE.TRUE.SQL SELECT empno, ename, job, sal 2 FROM emp 3 WHERE sal=1100 4 AND job=CLERK; EMPNO ENAME JOB SAL- - - - 7876 ADAMS CLERK 1100 7934 MILLER CLERK 1300使用使用OR OR 操作符操作符操作符只需任意条件为操作符只需任意条件为操作符只需任意条件为操作符只需任意条件为操作符只需任意条件为操作符只需任意条件为TRUETRUETRUE即可即可即可即可即可即可SQL SELECT empno, ename, job, sal 2 FROM emp 3 WHERE sal=1100 4 OR job=CLERK; EMPNO ENAME JOB SAL- - - - 7839 KING PRESIDENT 5000 7698 BLAKE MANAGER 2850 7782 CLARK MANAGER 2450 7566 JONES MANAGER 2975 7654 MARTIN SALESMAN 1250 . 7900 JAMES CLERK 950 .14 rows selected.使用使用 NOTNOT操作符操作符SQL SELECT ename, job 2 FROM emp 3 WHERE job NOT IN (CLERK,MANAGER,ANALYST);ENAME JOB- -KING PRESIDENTMARTIN SALESMANALLEN SALESMANTURNER SALESMANWARD SALESMAN优先级规则优先级规则ll用圆括号可以改变操作符的优先级次用圆括号可以改变操作符的优先级次序。序。顺序顺序操作符操作符 1所有比较操作符所有比较操作符2NOT3AND4OR优先级规则优先级规则ENAME JOB SAL- - -KING PRESIDENT 5000MARTIN SALESMAN 1250ALLEN SALESMAN 1600TURNER SALESMAN 1500WARD SALESMAN 1250SQL SELECT ename, job, sal 2 FROM emp 3 WHERE job=SALESMAN 4 OR job=PRESIDENT 5 AND sal1500;优先级规则优先级规则ENAME JOB SAL- - -KING PRESIDENT 5000ALLEN SALESMAN 1600用圆括号强制改变操作符优先级用圆括号强制改变操作符优先级用圆括号强制改变操作符优先级用圆括号强制改变操作符优先级用圆括号强制改变操作符优先级用圆括号强制改变操作符优先级. . .SQL SELECT ename, job, sal 2 FROM emp 3 WHERE (job=SALESMAN 4 OR job=PRESIDENT) 5 AND sal1500;ORDER BY ORDER BY 子句子句用用 ORDER BYORDER BY子句进行行的排序子句进行行的排序llASC: ASC: 升序升序, , 缺省缺省llDESC: DESC: 降序降序ORDER BYORDER BY子句跟在子句跟在SELECT SELECT 语句之后语句之后SQL SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate;ENAME JOB DEPTNO HIREDATE- - - -SMITH CLERK 20 17-DEC-80ALLEN SALESMAN 30 20-FEB-81.14 rows selected.采用降序排序采用降序排序SQL SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate DESC;ENAME JOB DEPTNO HIREDATE- - - -ADAMS CLERK 20 12-JAN-83SCOTT ANALYST 20 09-DEC-82MILLER CLERK 10 23-JAN-82JAMES CLERK 30 03-DEC-81FORD ANALYST 20 03-DEC-81KING PRESIDENT 10 17-NOV-81MARTIN SALESMAN 30 28-SEP-81.14 rows selected.按照列的别名来进行排序按照列的别名来进行排序SQL SELECT empno, ename, sal*12 annsal 2 FROM emp 3 ORDER BY annsal; EMPNO ENAME ANNSAL- - - 7369 SMITH 9600 7900 JAMES 11400 7876 ADAMS 13200 7654 MARTIN 15000 7521 WARD 15000 7934 MILLER 15600 7844 TURNER 18000.14 rows selected.按照多个列进行排序按照多个列进行排序ORDER BY ORDER BY 后的列的后的列的顺序既排序的顺序顺序既排序的顺序.可以按照可以按照可以按照可以按照 SELECT SELECT 列中没有的列来进行排序列中没有的列来进行排序列中没有的列来进行排序列中没有的列来进行排序.SQL SELECT ename, deptno, sal 2 FROM emp 3 ORDER BY deptno, sal DESC;ENAME DEPTNO SAL- - -KING 10 5000CLARK 10 2450MILLER 10 1300FORD 20 3000.14 rows selected.总结总结SELECTDISTINCT *| column alias, .FROM tableWHEREcondition(s)ORDER BYcolumn, expr, alias ASC|DESC;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号