限制查询

简介:
1、 限制查询
 就是根据一些特定的条件,查找指定的内容。
查出所有在10部门工作的雇员
 只要是部门编号为“10”就表示合法记录。
  SELECT * FROM emp WHERE deptno=10 ;
 
 
例如:要查询所有工资大于1000的全部员工信息
 SELECT * FROM emp WHERE sal>1000 ;
 要查询所有奖金大于等于300的全部雇员信息:
 SELECT * FROM emp WHERE comm>=300 ;
不等于:!=、<>
 例如:要查询雇员姓名不是SMITH的全部雇员。(除SMITH之外的全部雇员信息)
  SELECT * FROM emp WHERE ename!='smith' ;
 以上代码查询时出现了SMITH,因为oracle中的全部数据都是要区分大小写的。
  SELECT * FROM emp WHERE ename!='SMITH' ;
  SELECT * FROM emp WHERE ename<>'SMITH' ;
BETWEEN…AND…:范围查询
 例如:要查询雇员工资在1000~2000的全部雇员信息。
 SELECT * FROM emp WHERE sal BETWEEN 1000 AND 2000 ;
IN操作符(给定查询范围)
 现在已经知道了三个雇员编号:7369、7876、7902,要求可以根据这雇员编号查询出全部的雇员信息。
 Empno的取值只能是(7369、7876、7902)
 SELECT * FROM emp WHERE empno IN (7369,7876,7902) ;
LIKE运算:模糊查询:
 给定一个关键字,之后可以根据此关键字查询出全部的内容:
 查询,雇员姓名中包含“S”的人员信息。
 SELECT * FROM emp WHERE ename LIKE '%S%';
 假设:要查询以字母“S”开头的全部的雇员信息
  SELECT * FROM emp WHERE ename LIKE 'S%';
 当然,也可以对查询进行指定位数的匹配:
  姓名中的第二个字母为“A”的全部雇员信息:
   SELECT * FROM emp WHERE ename LIKE '_A%';
 • %:表示匹配任意的字符
 • _:表示只匹配一个字符
IS NULL与IS NOT NULL:判断是否为空
例如:查询全部佣金为null的雇员信息:
  SELECT * FROM emp WHERE comm IS NULL;
 查询佣金不为null的雇员信息:
  SELECT * FROM emp WHERE comm IS NOT NULL;
查询:雇佣日期是1981年的全部雇员信息
 • 使用LIKE查询:
  SELECT * FROM emp WHERE hiredate LIKE '%81%';
 • 使用BETWEEN…AND进行查询:
  SELECT * FROM emp WHERE hiredate BETWEEN '1-1月 -1981' AND '31-12月 -1981';
 • 以后只要是碰见日期都可以用字符串表示(加入了“'”)
 
表示可以连接多个条件:
 • AND(与):如果两个条件都为真,则表示满足条件,之外都不满足。
 • OR(或):如果两个条件中有一个条件为真,则表示满足,之外都不满足。
 • NOT(非):可以把为真的条件变为假。
例如:查询雇员编号为7369,且职务为办事员的全部雇员信息:
 SELECT * FROM emp WHERE empno=7369 AND job='CLERK';
例如:查询在10部门工作或者职务为办事员的全部雇员信息:
 SELECT * FROM emp WHERE deptno=10 OR job='CLERK';
例如:查询所有佣金比工资高的全部雇员信息,且不是在10部门工作的人员
 SELECT * FROM emp WHERE comm>sal AND deptno<>10;
例如:查询不在10部门工作的全部雇员
 SELECT * FROM emp WHERE NOT deptno=10;
例如:查询工作即不是办事员又不是经理的全部雇员信息
 • SELECT * FROM emp WHERE job<>'CLERK' AND job<>'MANAGER';
 • 如果给定了范围使用IN操作最合适:
  |- SELECT * FROM emp WHERE job NOT IN ('CLERK','MANAGER');
查询:工作是销售人员或总裁且工资大于1200的全部雇员信息
 SELECT * FROM emp WHERE job IN ('PRESIDENT','SALESMAN') AND sal>1200;
 
可以为查出的数据进行排序:默认的排序为升序
例如:可以按工资由高到低进行排序
 SELECT * FROM emp ORDER BY sal desc;
可以同时对多个字段进行排序:
 例如:按工资由高到低排序,如果工资相等,则按照受雇日期由早到近排序。
 SELECT * FROM emp ORDER BY sal desc,hiredate;
也可以使用列的别名进行排序:
 SELECT empno,sal s,ename,hiredate h FROM emp ORDER BY s desc,h;
排序语句从语法上来看,必须写在WHERE语句之后
 查询,10部门中的全部雇员信息,之后按工资由高到低排序。
 SELECT * FROM emp WHERE deptno=10 ORDER BY sal desc ;









本文转自 李兴华 51CTO博客,原文链接:http://blog.51cto.com/lixinghua/91208,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
NoSQL MongoDB 数据库
查询数据
查询数据
53 4
|
存储 缓存 数据库
提高Djang查询速度的9种方法
在Web应用程序中,数据库查询是一个关键的环节。优化数据库查询可以显著提高应用程序的性能和响应速度。Django作为一个高度可扩展的Web框架,提供了多种方式来优化数据库查询。本文将介绍一些常用的Django数据库查询优化技巧,从入门到精通,帮助您构建高效的应用程序。
164 1
|
9月前
|
SQL 存储
6. 复杂查询
6. 复杂查询
|
SQL Oracle 关系型数据库
Oracle简单查询、条件查询、枚举查询、模糊查询、排序查询、函数查询等
Oracle简单查询、条件查询、枚举查询、模糊查询、排序查询、函数查询等
374 0
Oracle简单查询、条件查询、枚举查询、模糊查询、排序查询、函数查询等
|
缓存 自然语言处理 网络架构
Elasticearch 查询详解 (二)
elk官网: [https://www.elastic.co/guide/en/enterprise-search-clients/index.html](https://www.elastic.co/guide/en/enterprise-search-clients/index.html) 作者主页:https://www.couragesteak.com/
Elasticearch 查询详解 (二)
|
C++
202009-1称检测点查询
202009-1称检测点查询
90 0
202009-1称检测点查询
小技巧 - 如何查询医保卡号?
小技巧 - 如何查询医保卡号?
1557 0
小技巧 - 如何查询医保卡号?
|
存储 SQL 分布式计算
多场景查询分析
多场景查询分析
156 0
|
SQL 关系型数据库 MySQL
五、简单查询
五、简单查询
157 0
|
SQL
【查询】查询好像也可以很简单!
     还是要先说一下范围:以数据库为主的程序,b/s结构。        查询嘛,对于我来说就是SQL语句 where 后面(group、order by 前面的)的内容,把这搞定了,查询也就搞定了。
853 0