Oracle条件查询与运算符
作者:陈伟忠 撰写时间:2019年4月7日
去重复 distinct
去重复用于去除重复的数据,例如一张员工表的有很多个员工工资的一样的,现在我们把重复的员工工资给去掉,实现代码以及输出截图:
Select distinct department_id from employees;
筛选where
下面我们用where来筛选select的部分数据,下面我们来看一个例子,查询后面跟着where条件查询来筛选一个名字叫‘Ernst’的员工,见实现的代码以及输出截图:
Select * from employees where last_name = 'Ernst';
注意where条件里面区分大小写,如果没有区分大小写,将会筛选不出你想要的数据,见实现的代码以及输出的截图:
字符和日期
字符和日期要写在''里面,不然会识别不了,字符区分大小写,日期格式敏感,默认日期格式'DD-MON月-RR',实现代码以及输出截图:
Select hire_date from employees where hire_date = '21-9月-1989';
比较运算
比较运算一般有 >、< 、=、>=、<=、!=,下面我们来看一个例子,查询工资(salary)大于10000的员工,实现代码以及输出截图:
Select last_name,salary from employees where salary > 10000;
其他运算符
Between 区间运算符,他可以用来显示一个区间里面的值,例如我要看1960年1月1日到1990年1月1日入职的员工,实现代码以及输出截图:
Select hire_date,last_name from employees where hire_date between '01-1月-1960' and '01-1月-1990';
IN运算,他是用来显示列表的值,例如我要看工资是 10000,12000,24000的员工,实现代码以及输出截图:
Select salary,last_name from employees
where salary in (10000,12000,24000);
Like运算,他是用来模糊查询列表的值,选择条件可以包括数字或者字符,%代表任意个字符,_代表着一个字符。例如我忘记的员工的名字,只记得他名字里面有个K,实现代码以及输出截图:
Select * from employees where last_name like 'K%';
要是你只记得第二个是i的话就可以在i前面加_:
Select * from employees where last_name like '_i%';
注意关键字后面要加%,不然系统会认为你后面没有字符了