Loading... ###简单查询 语法: SELECT [DISTINCT]*| 字段 [别名],[字段 [别名]] FROM 表名称 [表别名] 查询dept表的全部记录 select * from dept; 查询每个雇员的编号,姓名和基本工资 select job from emp; 查询每个雇员的职位 select distinct job from emp; 注意:查询出来的job内容有重复数据,使用distinct删除重复 select distinct job from emp; 查询每个雇员的姓名,职位 select distinct ename,job from emp; 简单查询中,可以使用四则运算符 查询每一个雇员的姓名,职位和基本年薪 select ename,job,sal*12 from emp; 注意:列的名称不方便浏览,可以使用列别名 select ename,job,sal*12 income from emp; select ename,job,sal*12 as income from emp; 每个月每个人有200的饭补和100的车补,计算年薪 select ename,job,(sal+300)*12 income from emp; 年底多发一个月的基本工资 select ename,job,(sal+300)*12+sal income from emp; 使用||连接符 select empno||’,’||ename from emp; ###限定查询 语法: SELECT [DISTINCT]*| 字段 [别名][字段 [别名]] FROM 表名称 [表别名] [WHERE 条件(s)] 条件: ,>=,<,<=,!=(<>), BETWEEN…AND…,LIKE,IN,IS NULL,AND,OR,NOT ####1、关系运算 要求查询出基本工资高于1500的所有雇员信息 select * from emp where sal>1500; 查询出所有职位是办事员的雇员信息 select * from emp where job=’CLERK’; 注意:在oracle数据库,数据区分大小写 查询工资在1500-3000之间的全部雇员信息 select * from emp where sal>=1500 and sal<=3000; select * from emp where sal between 1500 and 3000; 查询职位是办事员,或者是销售员的全部信息 select * from emp where job=’CLERK’ or job=’SALESMAN’; 查询职位是办事员,或者是销售员的全部信息,并要求这些雇员的工资大于1200 select * from emp where (job=’CLERK’ or job=’SALESMAN’) and sal>1200; 查询所有不是办事员的雇员信息 select * from emp where job<>’CLERK’; select * from emp where job!=’CLERK’; select * from emp where NOT job=’CLERK’; ####2、范围判断 BETWEEN 最小值 AND 最大值 查询基本工资在1500-3000的雇员信息 select * from emp where sal between 1500 and 3000; 求反 select * from emp where not sal between 1500 and 3000; ####3、判断是否为空 IS(NOT) NULL,空值不是数字0或者空字符串 查询出所有领取奖金的雇员信息 select * from emp where comm is not null; select * from emp where not comm is null; 查询所有不领取奖金的雇员 select * from emp where comm is null; ####4、指定范围的判断 IN操作符表示指定一个范围 查询雇员编号是7369,7566,7799的雇员信息 select * from emp where empno=7369 or empno=7566 or empno=7799; 使用IN select * from emp where empno in (7369,7566,7799); 使用NOT IN表示不在指定范围内 select * from emp where empno not in (7369,7566,7799); 注意:关于NOT IN的问题 如果使用IN操作符,查询的范围之中存在null,不影响查询 select * from emp where empno in (7369,7566,null); 如果使用NOT IN操作符,如果查询范围中有null,则不会有任何查询结果 select * from emp where empno not in (7369,7566,null); 如果NOT IN中出现了null,则表示查询全部数据 为什么呢? ####5、模糊查询 LIKE子句 _: 匹配单个字符 %: 匹配任意多个字符 查询雇员姓名中以字母A开头的全部雇员信息 select * from emp where ename like ‘A%’; 查询雇员姓名中第二个字母是A的全部雇员信息 select * from emp where ename not like ‘%A%’; 求反 Hello World!select * from emp where ename not like ‘%A%’; %%表示查询全部信息 >转自:http://www.uml.org.cn/sjjm/201905173.asp Last modification:August 1, 2021 © Allow specification reprint Support Appreciate the author Like 0 欢迎留下您的脚印