日期:2014-05-16  浏览次数:20445 次

Oracle数据库之SQL---select之二

                     前面谈到了select的一些简单的运用,此次会更进一步的学习select查询。

        包括:where条件限定查询、范围查询、模糊查询、查询结果的排序.

            where条件限定查询

         select *from emp where emp.deptno = 10;--查询公寓号为10的所有员工
         select *from emp where job='CLERK';--注意CLERK是大小写敏感的
                 
                   我们知道Condition由列名表达式,常量和比较操作符组成,那么都有哪些比较操作符呢?

                                                              常用比较操作符

                   

                     以上各个比较操作符就不一一尝试了!以后会遇到的。

        范围查询(Between and)

                  现实中我们有这种需求,需要查询一个数据段,这就可以使用between and实现了                      

           --查询工资在4000-8000的员工
             select *from emp where sal between 4000 and 8000;
                     Tips:这里需要注意的是between 后面要先写低值后写高值,不然语句不会错

                       但是不可能查询到结果!

        模糊查询(Like 、Not Like)

                   like 模糊查询一般是针对字符匹配操作的。  字符匹配操作可以使用通配符 “%” 和 “_”:

                      %:表示任意个字符,包括零个;
                      _:表示一个任意字符;
                   简单例子:    
            select *from emp where ename like '_M%';--查询名字的第二个字符为"M"的员工
                    不过这里需要思考的是:如果我们需要查询的字符串中存在“%”、“-”之类的情况又如何呢?
                    解决办法:使用escape
                 简单例子:                  
          insert into emp(Ename,Empno) VALUES('K%iritor',100);--人为的插入一条语句
          select *from emp where ename like 'K/%iritor' escape '/' ;