emp

Oracle单值函数以及多表查询

依然范特西╮ 提交于 2019-12-11 14:58:46
第三章:单值函数 函数分为: 1.单值函数 1.字符函数 2.日期函数 3.转换函数 4.数字函数 2.分组函数(后面的章节再做学习) 哑表dual dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。 例如: 显示1+1的结果,可以看出,dual很多时候是为了构成select的标准语法 select 1+1 from dual; 字符函数 LOWER Converts to lowercase UPPER Converts to uppercase INITCAP Converts to initial capitalization CONCAT Concatenates values SUBSTR Returns substring LENGTH Returns number of characters NVL Converts a null value lower 把字符转为小写 例如:把'HELLO'转换为小写 select lower('HELLO') from dual; 例如:把s_emp表中的last_name列的值转换为小写 select lower(last_name) from s_emp; upper 把字符转换为大写 例如:把'world'转换为大写 select upper('world') from

ORACLE用户、角色、权限

筅森魡賤 提交于 2019-12-10 05:37:40
用了ORACLE很久,但对用户、角色、权限还是很模糊,认真看书,查资料整理文档,做下记录,希望从日常使用的角度去看ORACLE的用户、角色与权限 理论性的知识再此省略,建议还是翻翻书透彻点 开工! 先放一张图,可以跳过图,读完文章再回头看看图 说明:双箭头表示用户与角色查那张表,单虚线箭头表示包含关系,角色除了系统自带的dba_roles里定义的以外还可以自己创建定义 正式开工: 创建一个表空间,命名为ts_urp指定空间为100M 创建一个用户urp密码urp,默认表空间ts_urp,临时表空间为temp SQL> create user urp identified by urp default tablespace ts_urp temporary tablespace temp; User created. 创建后尝试使用该用户连接数据库 SQL> connect urp/urp ERROR: ORA-01045: user URP lacks CREATE SESSION privilege; logon denied Warning: You are no longer connected to ORACLE. 提示用户不具有CREATE SESSION权限,查看下此时用于与权限对应表,grantee为URP的记录为空 SQL> connect / as sysdba

《SQL CookBook》 简单查询汇总

寵の児 提交于 2019-12-10 05:15:11
下载了《SQL CookBook》 ,认真专研一下,基础是很重要的,是时候拾回那些悄悄溜走的知识了。 1. 查询结果排序 1.1 显示部门 10 中的员工名字、职位和工资,并按照工资的升序排列。 select ename,job,sal from emp order by sal asc; 1.2 在 EMP 表中,首先按照 DEPTNO 的升序排序,然后按照工资的降序排列。 select empno,deptno,sal,ename,job from emp order by deptno asc,sal desc 1.3 从 EMP 表中返回员工名字和职位,并且按照职位字段的最后两个字符排序。 select ename,job from emp order by substr(job,length(job)-2); 1.3 在 EMP 中根据 COMM 排序结果,处理控制排在最后。 select ename,sal,comm from ( select ename,sal,comm ,case when comm is null then 1 else 0 end as is_null from emp) x order by is_null,comm; 1.4 如果 JOB 是“ SALESMAN ” , 要根据 COMM 来排序。否则,根据 SAL 排序。 select

07-oracle多表查询

陌路散爱 提交于 2019-12-10 02:13:26
--笛卡尔积,多表查询时,n张表中的行数相乘(本例中14*4=56) --多表查询时笛卡尔积无法消除,即使使用了限定条件(where)也只是不显示而已,实际上笛卡尔积仍存在 --只能使用合理的做法来处理多表查询。 --多表查询时,每当增加一张关联表时都需要设置一个消除笛卡儿积的条件。 select count(*) from emp; 14 select count(*) from dept; 4 select count(*) from emp,dept; --查询员工姓名,工作,工资等级编号,工资等级范围 select e.ename,e.job,e.sal,s.grade,s.losal,s.hisal from emp e,salgrade s where e.sal between s.losal and s.hisal --查询员工姓名,工作,工资等级编号,工资等级范围 --将等级用中文显示(如:<1200的为E等工资) select e.ename,e.job,e.sal,s.grade,s.losal,s.hisal, decode(s.grade, 1,'E等', 2,'D等', 3,'C等', 4,'B等', 5,'A等' ) 工资等级 from emp e,salgrade s where e.sal between s.losal and s.hisal;

Mysql经典入门练习题(二)

隐身守侯 提交于 2019-12-09 23:42:14
老规矩,建表: -- 部门表 CREATE TABLE DEPT ( DEPTNO INT PRIMARY KEY , DNAME VARCHAR ( 14 ) , -- 部门名称 LOC VARCHAR ( 13 ) -- 部门地址 ) ; INSERT INTO DEPT VALUES ( 10 , 'ACCOUNTING' , 'NEW YORK' ) ; INSERT INTO DEPT VALUES ( 20 , 'RESEARCH' , 'DALLAS' ) ; INSERT INTO DEPT VALUES ( 30 , 'SALES' , 'CHICAGO' ) ; INSERT INTO DEPT VALUES ( 40 , 'OPERATIONS' , 'BOSTON' ) ; -- 员工表 DROP TABLE EMP ; CREATE TABLE EMP ( EMPNO INT PRIMARY KEY , -- 员工编号 ENAME VARCHAR ( 10 ) , -- 员工姓名 JOB VARCHAR ( 9 ) , -- 员工工作 MGR INT , -- 员工直属领导编号 HIREDATE DATE , -- 入职时间 SAL DOUBLE , -- 工资 COMM DOUBLE , -- 奖金 DEPTNO INT , -- 所在部门

A*算法【拼图游戏】

血红的双手。 提交于 2019-12-09 22:52:25
数据结构 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 拼图 { /// <summary> /// 空格移动的方向 /// </summary> enum Direction { None, Up, Left, Right, Down } /// <summary> /// 解答 /// </summary> enum Answer { /// <summary> /// 不存在解答 /// </summary> NotExist, /// <summary> /// 存在解答 /// </summary> Exist, /// <summary> /// 在当前指定的搜索深度内不存在解答(需要扩大深度) /// </summary> NotExistInDepth } /// <summary> /// 局面状态信息 /// </summary> class StateMsg { private int depth; private Direction dir; public int Depth { get { return depth; } } public

SparkSQL读取hive中的数据,行转列的两种方式【行转列专用函数,UDAF】

泪湿孤枕 提交于 2019-12-09 16:17:58
先给数据: vi employees 1,George,nan 2,honey,nv 3,georgedage,nan 4,kangkang,nv 上传数据: hdfs dfs -mkdir /second hdfs dfs -put employees /second/ 创表: create external table employees(emp_no int,emp_name String,emp_gender String) row format delimited fields terminated by "," location "/second"; +------+----------+----------+ |emp_no| emp_name|emp_gender| +------+----------+----------+ | 1| George| nan| | 2| honey| nv| | 3|georgedage| nan| | 4| kangkang| nv| +------+----------+----------+ 需求: 按照性别分组,并打出所有名字。 结果展示: +----------+-----------------+ |emp_gender| name| +----------+-----------------+ | nv| honey

字典的应用

天涯浪子 提交于 2019-12-09 16:16:04
#处理员工数据 source = "7782,clark,manager,sales,5000$7934,miller,salesman,sales,3000" source1 = source.split("$") print(source1) #保存所有解析后的员工信息,key是员工编号,value是信息 all_emp = {} for i in range(0,len(source1)): e=source1[i].split(",") print(e) #创建员工字典 employe = {'no':e[0],'name':e[1],'job':e[2],'department':e[3],'salary':e[4]} print(employe) all_emp[employe['no']]=employe print(all_emp) while True: empno = input("请输入员工编号: ") if empno in all_emp: emp = all_emp.get(empno) print("工号:{no},姓名:{name},岗位:{job},部门:{department},工资:{salary}".format_map(emp)) else: print("请输入正确的工号") 来源: 51CTO 作者: 依偎书生 链接: https:/

oracle 分页查询

纵饮孤独 提交于 2019-12-09 15:49:09
demo:   --rownum关键字:oracle对外提供的自动给查询结果编号的关键字,与每行的数据没有关系。 --注意:rownum关键字只能做< <=的判断,不能进行> >=的判断 select rownum ,e.* from emp e; --查询员工信息的前5条数据 第一页数据 select rownum r,e.* from emp e where rownum <=5; select * from (select rownum r,e.* from emp e where rownum <=5) t where r>0; --查询员工信息的6-10条数据 第二页数据 select rownum r,e.* from emp e where rownum <=10; select rownum,t.* from (select rownum r,e.* from emp e where rownum <=10) t where r>5; --查询员工信息的11-15条数据 第三页数据 select rownum r,e. * from emp e where rownum<=15; select * from (select rownum r,e. * from emp e where rownum<=15) t where r>10; --分页规律总结

springMVC restful风格

我的未来我决定 提交于 2019-12-09 01:42:03
RESTful简介 1.REST架构是一个抽象的概念, 目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式处理程序。 2.REST主要对以下两方面进行了规范 -定位资源的URL风格,例如 http://baidu.com/admin/1234 http://baidu.com/admin/1234/10/11 -如何对资源操作 采用HTTP协议规定的GET、POST、PUT、DELETE动作处理资源的增删该查操作 3.什么是RESTful? -符合REST约束风格和原则的应用程序或设计就是RESTful. eg: /emp/1 HTTP GET 查询id=1的emp /emp/1 HTTP DELETE 删除id=1的emp,实验中直接删除会报405错误,但是采用$.ajax异步删除就没问题 /emp/1 HTTP PUT 更新emp /emp/add HTTP POST 新增emp 4.Spring对RESTful的支持 - Spring MVC 对 RESTful应用提供了以下支持 - 利用@RequestMapping 指定要处理请求的URI模板和HTTP请求的动作类型 - 利用@PathVariable讲URI请求模板中的变量映射到处理方法参数上 - 利用Ajax,在客户端发出PUT、DELETE动作的请求 具体例子 浏览器