20天BI数据分析学习第一天

-- 在数据库中创建用户 并设置密码

-- 建用户 必须用 system 用户 ,普通用户没有权限

CREATE  USER ZHOUPENG IDENTIFIED BY 123456;

-- 给 ZHOUPENG 用户授权 ,让该用户可以访问 数据库 并且可以操作数据库中的资源

GRANT

CONNECT ,  -- 连接角色权限

RESOURCE    -- 资源的权限,可以创建各种数据库的对象

TO ZHOUPENG ;

----------------------------------    SQL 查询 -----------------------------------------

SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,

是一种数据库查询和 程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;

同时也是数据库脚本文件的扩展名。

-- 查询

1 基本查询

2 条件查询

3 子查询

4 关联查询

--- SQL 查询的执行顺序

语法结构                注释                      执行顺序

SELECT              -- 查询所需的列/字段                        ⑤

FROM                -- 从哪个表/哪些表中查询                  ①

WHERE  .. AND ...  -- 过滤条件1 AND 过滤条件2       ②

GROUP BY            -- 按条件1分组 ,按条件2分组        ③

HAVING  .. AND ...  -- 分组以后的过滤条件3              ④

ORDER BY            -- 按条件1排序 ,按条件2排序     ⑥


1 基本查询

SELECT *              -- SELECT 的意思是 查询/选择 要查询的列 ,  *  是通配符,表示所有(列)

FROM EMP;          -- FROM 表示从哪个表查询 , EMP 是我们的员工表。

-- 给EMP员工表的每个字段加个注释

COMMENT ON COLUMN  EMP.empno IS '员工编号';

COMMENT ON COLUMN  EMP.ENAME IS '员工姓名';

COMMENT ON COLUMN  EMP.JOB IS '员工岗位';

COMMENT ON COLUMN  EMP.MGR IS '员工领导的编号';

COMMENT ON COLUMN  EMP.HIREDATE IS '员工入职时间';

COMMENT ON COLUMN  EMP.SAL IS '员工基本工资';

COMMENT ON COLUMN  EMP.COMM IS '员工奖金';

COMMENT ON COLUMN  EMP.DEPTNO IS '员工的部门编号';

-- 基本查询 之  表的别名

SELECT E.empno,

      E.ename,

      E.job,

      E.mgr,

      E.hiredate,

      E.sal,

      E.comm,

      E.deptno

FROM  EMP  E ;  -- E 是 EMP 表的别名 ,设置表的别名 E以后 ,查询或者过滤字段就可以用 E. 来关联出我们需要的列。

-- 简单的单表查询 不需要加别名 ,但是多表查询 必须加 别名

-- 基本查询 之 列的别名

SELECT E.empno AS "员工编号",  -- 这种写法是 列设置别名的标准写法;

      E.ename AS  员工姓名 ,

      E.job "员工岗位"  ,

      E.mgr  员工领导编号    -- 这种是我们通常 简化的写法

FROM  EMP E ;

----------- 条件查询 ----------- 

oracle 中的常用数据类型

字符串  VARCHAR2(X)  -- x  表示 字符串的最大长度。

数字/数值 NUMBER(X,Y) -- X 是数字的最大长度,Y 是小数部分的长度, 比如 number(7,2) 整数部分最大5位,小数部分2位

日期    DATE       

针对上面的三种数据类型 ORACLE 提供了三种转换函数

TO_CHAR(目标字段,输出格式化)

TO_NUMBER()    -- 只能将 类似数字的字符 转换成 数值 ,比如 ‘1234’

TO_DATE(目标字段,输出格式化)

SELECT  '20200527' 字符串, 20200527  数字, TO_DATE('20200527','YYYY-MM-DD') 日期 FROM DUAL;

--  对 字符串进行条件过滤

--查出 SCOTT 员工的所有信息

SELECT *

FROM EMP

WHERE ENAME = 'SCOTT';  -- SCOTT 是字符串 必须加 单引号

-- 对 数值类的条件进行过滤

查询出 部门10 中的所有员工

SELECT *

FROM EMP

WHERE DEPTNO = 10 ;  -- 10 是数字 所以不用加单引号

SELECT *

FROM EMP

WHERE DEPTNO = '10' ; -- 这里已经做了 隐式转换 ,写SQL的时候 尽量避免使用 隐式转换

-- 对日期格式数据进行过滤

比如查询1981年入职的所有员工

SELECT *

FROM EMP

WHERE TO_CHAR(HIREDATE,'YYYY') = '1981'; ------如果查月份呢???

SELECT *

FROM EMP

WHERE HIREDATE BETWEEN TO_DATE('19810101','YYYY-MM-DD') AND TO_DATE('19811231','YYYY-MM-DD') ;

-- 条件查询之 范围查询  IN ()

  查询部门10和部门30中的员工

SELECT *

FROM EMP

WHERE DEPTNO IN (10,30);


  查询 WARD 和 ALLEN 的详细信息

SELECT *

FROM EMP

WHERE ENAME IN ('WARD','ALLEN');

-- 条件查询之 范围查询  BETWEEN .. AND

查询工资在1000到2000之间的所有员工

SELECT *

FROM EMP

WHERE SAL BETWEEN 1000 AND 2000;  -- BETWEEN AND 中 ,AND前面必须放较小的数值,后面放较大的数值

-- 条件查询之 NULL 值的判断  is NULL

查询没有奖金的员工

SELECT *

FROM EMP

WHERE COMM IS NULL;

  反之

SELECT *

FROM EMP

WHERE COMM IS NOT  NULL;

-- 模糊查询 / 模糊匹配 LIKE 

查询出 名字第一个字母是A的员工

SELECT *

FROM EMP

WHERE ENAME LIKE 'A%' ;--  % 是like中的通配符,表示匹配任意字符

查询出 名字最后一个字母是S的员工

SELECT *

FROM EMP

WHERE ENAME LIKE '%S' ;

查询出 名字中包含字母 O 的员工

SELECT *

FROM EMP

WHERE ENAME LIKE '%O%' ;

查询名字是4个字的员工

SELECT *

FROM EMP

WHERE ENAME LIKE '____';  -- 4个下划线

查询名字是5个字,但是第二字母是 O 的员工

SELECT *

FROM EMP

WHERE ENAME LIKE '_O%'

AND ENAME LIKE '_____';

SELECT *

FROM EMP

WHERE ENAME LIKE '_O___';

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343