1、指定查询条件
如果要按照条件进行查询,可以使用where子句来过滤所返回的行数据,语法如下
select *|{[distinct] column|expression [alias],...} from table [where condition(s)];
where 子句紧跟在from子句的后面,其语法含义如下所示,
1、where关键字:限制满足查询条件的行
2、condition:由列名、表达式、常数和比较操作组成,用来指定查询的条件
condition通常返回的是一个布尔值,如果返回该条件为true,则提前满足条件的记录,如果条件为false或null,则跳过不满足条件的行
where子句中的条件子句由如下的形式组成:
列名+比较条件+列名、常量或值列表
1、1简单where子句
要查询emp表中的部门编码为20的员工记录,可以使用简单的where子句,例如
select * from emp where deptno=20
在where子句中使用了deptno列名等于20这样一个布尔表达式,在where子句中可以使用多中比较操作符例如有大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(=)或者不等于(<>)等符号,例如要查询薪水大于等于3000的员工列表
select * from emp where sal>=3000;
2、日起和字符串比较
在where条件子句中,赋予数字类型,可以直接输入条件值,但是对于日期和字符串类型,则需要使用单引号括住条件值
注意:单引号中的字符串是区分大小写的
例如要查询emp表中job为CLERK的员工列表,可以使用如下的语法:
select * from emp where job='CLERK'
如果将CLERK的大小写进行更改,查询到的结果完成不同。
在查询日期类型的条件时,必须进行数据类型匹配,例如hiredate提供一个字符串是非法的,必须使用内置的TO_DATE函数转换字符串为日期值,例如要查询雇佣期等于1981-12-3的员工
select * from emp where hiredate=to_date('1981-12-3','YYYY-MM-DD')
注意:oracle数据库以内部数字格式存储日期,表示为:世纪、年、月、日、小时、分和秒,默认的日食显示格式和oracle安装的选择有关系
可以通过使用TO_CHAR函数将日期型转换为格式化的字符串类提供友好的查询结果显示,
使用TO_CHAR可以指定日期的显示格式,是的日期的显示符号常见的日期显示格式