限定查询
SQL限定查询
限定查询
很多时候并不需要查询所有数据行内容,此时就可以通过WHERE字句来针对于数据行进行筛选
例:
select ename, sal from emp where sal>1000;
关系运算符;
大于 查询基本工资大于1500雇员信息
select*from emp where sal>1500;
查询不是销售任运的雇员信息
select empno,ename,job from emp where job!=’SALESMAN’;
方式二:
select empno,ename,job from emp where job<>’SALESMAN’;
逻辑运算: and or not
- and 查询1500到3000工资人员信息
select*from emp where sal>=1500 and sal<=3000;
- or 查询工资大于2000或者职位是办事员的所有雇员信息
selectfrom emp where sal>2000 or job='CLERK';
范围运算; between..and
select * from emp where sal between 1000 and 1500;
空判断 is null is not null
为空:
SELECTFROM emp WHERE comm is null;
不为空:
SELECTFROM emp WHERE comm is not null;
包含:
IN 操作符允许我们在 WHERE 子句中规定多个值:
SELECT*FROM emp WHERE empno in (7369,7566,7788,9999);
not in
SELECT*FROM emp WHERE empno not in (7369,7566,7788);
范围里包含有空那么不会有任何结果返回
模糊查询:like
“_”匹配任意一位字符
“%”匹配任意的零为,一位或多位字符.
范例:
SELECT*FROM emp WHERE ename like 'A%';
like可以应用任意类型上 不一定要是字符串
like如果没有关键字则表示查询全部
总结;
WHERE子句一般都写在FROM字句之后紧跟着FROM的
WHERE子句空间显示数据行的操作,select字句控制数据列的操作
SELECT子句要落后于WHERE子句执行 ,所有在SELECT子句中定义的别名 WHERE子句不能使用
使用like实现模糊查询不设置关键字(‘%%’)表示查询全部
使用NOT in查询时,查询范围不能有null,否则不会有数据返回