文章目录
-
-
- 1.别名
- 2.去重distinct
- 3.where条件过滤
- 4.between..and/not between..and
- 5.in(参数列表)/not in(参数列表)
- 6.模糊查询
- 7.处理字符函数:
- 8、is null/is not null
- 9.数字函数
- 10.日期函数
- 11.coalesce(参数列表)
- 12.case..when..then
- 13.decode(表达式,匹配1,值1,匹配2,值2...)
- 14.排序
- 15.组函数(聚合函数)
- 16.group by 分组操作
- 17.having
- 18.查询操作的语法顺序
- 19.子查询
- 20、all、any、in
- 21、子查询返回多列
- 22、子查询中的having
- 23、关联子查询
-
本课用到的数据库数据在Oracle数据库表的基本操作以及空值问题的解决中已写过,自己粘贴复制就好!
1.别名
可以给字段,表达式,表等起别名,而且尽量用有意义的英文单词
2.去重distinct
- 只能跟在select后面,distinct后面必须是需去重的关键字
- 当distinct后面添加多个字段,表示多个字段联合唯一去重
--例如:查询该公司有哪些职位?
select distinct job from emp_jinli;
--例如:查询员工分布在哪些部门?
select distinct deptno from emp_jinli;
--例如:每个部门有哪些职位?
select distinct deptno,job from emp_jinli;
3.where条件过滤
单行比较运算符<,>,>=,<=,!=,<>(不等于)
--例如:查询哪些员工的薪资大于5000?
select ename,salary from emp_jinli where salary>5000;
4.between…and/not between…and
表示闭区间,包括两端的临界值
--例如:查询哪些员工的薪资大于5000,小于10000?
select ename,salary from emp_jinli where salary between 5000 and 10000;
5.in(参数列表)/not in(参数列表)
--例如:查询哪些员工的薪资是5000,8000,10000?
select ename,salary from emp_jinli where salary in(5000,8000,10000);
select ename,salary from emp_jinli where salary=5000 or salary = 8000 or salary=10000;
6.模糊查询
- like 关键字:与下面三个符号搭配使用
- %:表示0个或多个字符
- _:表示是一个字符
- /:escape 转义字符,表示特殊符号
--例如:查询员工的职位中包含‘sale’的员工信息?
select * from emp_jinli where job like '%sale%';
--例如:查询哪些员工的职位中第二个字符是‘a’的员工信息?
select * from emp_jinli where job like '_a%';
--例如:查询该用户下,有多少张表的表名是以‘T_’开头?
select count(*) from user_tables where table_name like 'T\_%' ESCAPE '\'; //"_"是特殊符号
7.处理字符函数:
- lower():大写转小写
- upper():小写转大写
- initcap():首字母大写
--例如:查询该用户下,有多少张表的表名是以‘T_’开头?
select count(*) from user_tables where initcap(table_name)