条件查询
条件查询
语法:
select * from table_name where 条件;
运算符
算数运算符
Oracle中算数运算符有:+、-、*、/,其中‘/’得到的结果为浮点数
关系运算符
符号 | > | >= | <= | <>或!= |
---|---|---|---|---|
意义 | 大于 | 大于等于 | 小于等于 | 不等于 |
逻辑运算符
Oracle中逻辑运算符有三个,分别是:and、or、not
举例:
查询数学成绩**或(or)** 者语文成绩在80-90(包含80、90)**且(and)** 不在(not)60-70的学生
select t.*
from student_gardes t
where ((t.math between 80 and 90) and not (t.math between 60 and 70)
/*数学成绩在80-90 且 数学成绩 不在 70-70之间的学生*/
or
(t.chinese between 80 and 90) and not (t.chinese between 60 and 70));
/*语文成绩在80-90 且 语文成绩 不在 70-70之间的学生*/
空值和非空限制
select * from table_name where table_column is null; --空值
select * from table_name where table_column is not null; --非空值
BETWEEN...AND...
查询两数值之前或者日期区间内的数据,例如查询出生日期在1997-01-01至2020-12-31年的用户数据:
select *
from users
where (to_date(birthday, 'yyyy-MM-dd') between '1997-01-01' and '2020-12-31';
这个就相当于
select *
from users
where (to_date(birthday, 'yyyy-MM-dd') >= '1997-01-01' and
to_date(birthday, 'yyyy-MM-dd') <= '2020-12-31');
在Oracle数据库查询时,可以将'as' 省略,但是为了规范,建议还是添加为准。
select
t.class 班级,
t.name 姓名,
t.id 学号,
t.age 年龄,
t.sex 性别
from
students;
取完别名,如果要在where条件中使用该别名,该别名只有在查询之后才会生效,所有需要在select外面在嵌套一层,例如要查询三年级一班,学号为0301的学生信息:
select a.*
from
(select
t.class as 班级,
t.name as 姓名,
t.id as 学号,
t.age as 年龄,
t.sex as 性别
from
students) a
where
a.班级 = '三年级一班'
and a.学号 = ‘ 0301 ’;
本文链接:
/archives/tjcx
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
ZFS的成长之路!
喜欢就支持一下吧