基础知识-SELECT语句和条件选择
注意:
测试数据全部在以hr登录的employees以及与它相关的表中存储。
查询当前表的所有信息:
SELECT e.*
FROM employees e
SELECT e.* FROM employees e WHERE e.salary BETWEEN 5000 AND 10000;
查询工作号为FI_ACCOUNT或者PU_CLEARK或者是以S开头的员工信息:
注意:
可使用% 或者_ 作为通配符:
% 代表 0 个或者多个字符.
_ 代表一个单个字符.
SELECT * FROM employees e WHERE e.job_id IN ('FI_ACCOUNT','PU_CLEARK') OR e.job_id LIKE 'S%';
查询部门号不为100的员工信息:
SELECT * FROM employees e WHERE e.department_id <> 100;
排序
asc:递增排序
desc:递减排序
按照工资递减排序:
SELECT * FROM employees e ORDER BY e.salary DESC;
字符串连接
在Oracle中,字符串连接操作符为:
查询员工信息,并且把员工的 first_name 和 last_name 拼接起来:
SELECT e.employee_id "Employees ID",e.first_name || ' ' || e.last_name "Employee Name",from employees;
去除重复行
使用关键字 :distinct
SELECT DISTINCT e.salary FROM employees e;
sql 一些简单函数
大小写转换函数
全部转化为小写:LOWER
全部转化为大写:UPPER
转化为首字母大写:INITCAP
--转化为小写
SELECT lower('ABcD') FROM dual;
--abcd
--转化为大写
SELECT UPPER('abCd') FROM dual;
--ABCD
--首字母大写
SELECT INITCAP('abCd') FROM dual;
--Abcd
字符串操作函数
--拼接字符串
SELECT concat('hello ','world!') FROM dual;
--helloworld!
--字符串截取
SELECT substr('ABCD',1,2) FROM dual;
--AB
SELECT substrb('你好',3) FROM dual;
--你
--返回字符串的字符数
SELECT length('你好') FROM dual;
--2
--返回字符串的字节数
SELECT lengthb('你好') FROM dual;
--6
数字操作函数
四舍五入:ROUND()
全部舍弃:TRUNC()
取模运算:MOD()
--四舍五入
SELECT trunc(45.756),round(45.632),MOD(1600,300) FROM dual;
-- 45 46 100
日期操作函数
显示当前日期
SELECT (SYSDATE) FROM dual;
--2017/7/19 14:40:16
显示当前时间与某一时间的相差时间
SELECT last_name,--相差天数除以7得到相差周数 (SYSDATE - e.hire_date) / 7 AS weeks,SYSDATE + 1 AS tomorrow,e.hire_date + 8 / 24 FROM employees e WHERE department_id = 90;