Oracle - Select语句
程序员文章站
2022-11-23 18:59:35
Oracle - Select语句一、单引号和双引号、||双引号:处理别名单引号:处理字符串拼接||:连结操作符select first_name||last_name||'的工资是'||salary "full name" from employees;二、空值的使用 null包括空值的任何算术表达式都等于空select salary,commission_pct,salary*(1+commission_pct) from employees;错误结果:没有提成比例的...
Oracle - Select语句
一、单引号和双引号、||
- 双引号:处理别名
- 单引号:处理字符串拼接
- ||:连结操作符
select first_name||last_name||'的工资是'||salary "full name" from employees;
二、空值的使用 null
- 包括空值的任何算术表达式都等于空
select salary,commission_pct,salary*(1+commission_pct) from employees;
错误结果:没有提成比例的员工就没有工资
- 解决方案一:先把commission_pct is null设置为0
update employees set commission_pct=0 where commission_pct is null;
select salary,commission_pct,salary*(1+commission_pct) from employees;
- 解决方案二:nvl函数
三、包括空值的连接表达式相当于与空字符串连接(原来的字符串)
- ‘string’||xxx (字段为null) => ‘string’
select first_name||last_name||email from employees;
四、去除重复字段
- 使用DISTINCT字段名可从查询结果中清除重复字段(DISTINCT的作用范围是后面所有字段的组合)
SELECT DISTINCT department_id, job_id FROM employees;
五、行不重复(判断有全部列是一样的数据)
- 使用DISTINCT关键字可从查询结果中清除重复行
SELECT DISTINCT * FROM employees;
六、查询不同表的数据组合在一起
- union all:不去掉重复的记录,性能高
- union:要去掉重复的记录
select first_name||last_name from employees union all select department_name from departments;
七、模糊查询 Like
- % :可表示零或多个字符
- _ :可表示一个字符
- 如果要查询包含查询关键字的字符串需要进行转义
select * from feng where name like '%\%f%' escape '\'; -- 查询%f
select * from feng where name like '%\%f\_%' escape '\'; -- 查询%f_
八、优先级规则
九、多字段排序
select * from employees order by salary desc,EMPLOYEE_ID desc;
本文地址:https://blog.csdn.net/qq_45988641/article/details/108996047