加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle_SQL 基础知识

发布时间:2020-12-12 14:41:20 所属栏目:百科 来源:网络整理
导读:基础知识-SELECT语句和条件选择 注意: 测试数据全部在以hr登录的employees以及与它相关的表中存储。 查询当前表的所有信息: SELECT e.* FROM employees e 查询工资在5000到10000之前的用户: SELECT e.* FROM employees e WHERE e.salary BETWEEN 5000 AND

基础知识-SELECT语句和条件选择

注意:
测试数据全部在以hr登录的employees以及与它相关的表中存储。

查询当前表的所有信息:

SELECT e.*
  FROM employees e

查询工资在5000到10000之前的用户:

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;
--你

说明:
substr:截取字符
substrb:截取字节

--返回字符串的字符数
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读