sal

Oracle数据库-sql语句

拥有回忆 提交于 2019-12-05 21:01:34
单表的查询语句 1、查询表的所有数据 select * from 表名;*代表所有   select * from emp; 2、查询表中指定字段的值 select 字段名1,字段名2,...from表名    select empno,ename from emp; 3、给查询结果中的字段使用别名   在字段名后使用关键字 字段名 as "别名"   作用:方便查看查询结果   注意:as关键字可以省略不写,别名中没有特殊字符双引号也可以省略不写。   select empno 员工编号,ename"员工 姓名",job as 工作,mgr as "领导编号" from emp; 4、连接符:select 字段名||'字符'||字段名||..... from 表名   ||为sql语句的字符链接符,使用在select和from之间   字符链接格式为 字段名||'字符'||字段名   注意:一个拼接好的连接在结果集中是作为一个新的字段显示,可以使用别名优化字段显示。   select empno||'的姓名是'||ename as "信息",job||'哈哈'||mgr from emp; 5、去除重复 select distinct 字段名,字段名,...fromn 表名   注意:去除重复的规则是按照行进行去除的,多行数据完全相同取其一   select distinct

postgresql —— 数组类型

前提是你 提交于 2019-12-05 20:02:19
创建数组 CREATE TABLE sal_emp ( name text, pay_by_quarter integer[] --还可以定义为integer[4]或integer ARRAY[4] ); 插入数据 NSERT INTO sal_emp VALUES ('Bill', '{11000, 12000, 13000, 14000}'); INSERT INTO sal_emp VALUES ('Carol', ARRAY[21000, 22000, 23000, 24000]); 下标查询 SELECT pay_by_quarter[3] FROM sal_emp; SELECT name FROM sal_emp WHERE pay_by_quarter[1] <> pay_by_quarter[2]; 范围查询  SELECT name,pay_by_quarter[1:3] FROM sal_emp; 数组大小可以灵活变化 UPDATE sal_emp SET pay_by_quarter[5] = 45000 WHERE name = 'Bill'; any | all 检索 SELECT * FROM sal_emp WHERE 10000 = ANY (pay_by_quarter); SELECT * FROM sal_emp WHERE 10000 =

MySQL练习与小结

时光怂恿深爱的人放手 提交于 2019-12-05 18:07:01
当你专注一件事的时候,时间总是过得很快! foreign key 练习 -- 切换数据库 use stumgr -- 删除班级表 drop table t_class1 -- 创建一个班级表 create table t_class1 ( cno int auto_increment not null, cname varchar (12) not null, room int (4), primary key (cno) ); -- 查看班级表 desc t_class1 -- 添加班级数据 insert into t_class1 values (null,'Javay1班',501),(null,'Javay2班',502),(null,'大数据1班',401); -- 查看班级表信息 select * from t_class1 -- 清空班级表数据 truncate table t_class1 -- 删除学生表 drop table t_student1 -- 创建学生表 create table t_student1 ( sno int primary key auto_increment, name varchar (20), sex char (1) default '男', age int, classno int, constraint fk_t

吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子

▼魔方 西西 提交于 2019-12-05 14:14:27
1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库的工具) RDBMS:关系型数据库管理系统 ORDBMS:对象关系型的数据库管理系统 3. Oracle数据库的主要特点 1)支持多用户、大事务量的处理 2)数据库安全性和完整性控制 3)支持分布式数据处理 4)可移植性 4.Oracle一些常见问题? 1)如果我只有一张表,为什么我还要创建数据库? SQL语言要求所有表都需放在数据库里。这项设计当然有它好的理由。SQL能控制多为用户同时访问表的行为。能够授予或撤销对整个数据库的访问权。这有时比控制每张表的权限要简单很多 2)创建库的命令的字母全是大写,一定要这样吗? 有些系统确实要求某些关键字采用大写形式。但SQL本身不区分大小写。也就是说,命令不大写也可以,但命令大写是良好的SQL编程惯例。 3)给数据库、表和列命名时有什么主意事项吗? 创建具有描述性的名称通常有不错的效果。有时候要多用几个单词来命名。所有名称都不能包含空格,所以使用下划线能够让你创建更具描述性的名称。命名时最好避免首字母大写,因为SQL不区分大小写。极有可能会搞错数据库。 4)为什么不能直接把BLOB当成所有文本值的类型? 因为这样很浪费空间

数据库oracle基础语句

心已入冬 提交于 2019-12-05 14:02:50
一、运算符 算术运算符:+ - * / 可以在select 语句中使用 连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != < <= like between is null in 逻辑运算符:not and or 集合运算符: intersect ,union, union all, minus 要求: 对应集合的列数和数据类型相同 查询中不能包含long 列 列的标签是第一个集合的标签 使用order by时,必须使用位置序号,不能使用列名 例:集合运算符的使用: 复制代码 代码如下: intersect ,union, union all, minus select * from emp intersect select * from emp where deptno=10 ; select * from emp minus select * from emp where deptno=10; select * from emp where deptno=10 union select * from emp where deptno in (10,20); --不包括重复行 select * from emp where deptno=10 union all select * from emp where

mysql基础笔记--day02

两盒软妹~` 提交于 2019-12-05 11:49:24
/* 回顾: DDL create drop DML insert update delete DQL select a,基本查询 b,条件查询 where c,排序 order by d,分组 group by e,分组后的过滤 having f,字段的控制 distinct 别名... */ -- 分页查询 /* 在实际的Web开发中有可能一页的数据太多,不能够 在一页展示,如果展示也可能造成性能的丢失,所以为 了提高用户的体验,我们可以数据分页的显示在web 页面上。实际开发中分页分为2种 一种为 真分页 数据库采用了分页查询 假分页 数据库没有采用分页查询,而是在服务端对数据 进行处理。 limit 注意 这个不是SQL标准,只能在mysql中使用。 limit 参数1,参数2 1-- 从第几条开始 从0开始 2-- 改页的条数 */ USE java1711; -- 每页4条记录 第一页 SELECT * FROM emp LIMIT 0,4; -- 每页4条记录 第二页 SELECT * FROM emp LIMIT 4,4; -- 当前页-1 * 每页的条数 -- 每页4条记录 第三页 SELECT * FROM emp LIMIT 8,4; -- 每页4条记录 第四页 SELECT * FROM emp LIMIT 12,4; SELECT * FROM emp

学习笔记——day22(DML单表查询语句)

 ̄綄美尐妖づ 提交于 2019-12-05 11:20:29
DML -- 这是注释 /* 这是多行注释 ## mysql中的注释 */ 注释 单表查询语句 -- 查询 sql 查询emp表中的所有列 /* * 代表所有列 select * from 查询表 */ select * from emp; -- 查询emp表中的员工姓名员工工资以及员工的部门编号 /* 查询列:姓名ename 工资sal 部门编号deptno 查询表:emp */ select ename,sal,deptno from emp; -- 别名 给列起别名 as可以省略 -- 通常建议使用 "" 引起来 "" 原样输出 -- ''引起来的称之为字符串 select ename as "姓 名",sal ,deptno from emp; select ename "姓 名",sal ,deptno from emp; -- 查询员工的工资,并且查看工资涨幅10%之后的员工工资 -- 列是支持四则运算 select ename "姓名", sal "工资",sal*1.1 "涨幅工资" from emp; -- 查询员工的姓名以及员工的年薪 -- (工资+奖金)*12 -- 参与四则运算时 如果列包含null值 那么最后的结果也是null select ename "姓名",sal "月薪", comm "奖金",(sal+comm)*12 "年薪" from emp

MySQL总结

依然范特西╮ 提交于 2019-12-05 11:05:48
mysql学习笔记 MySQL语句分类 1.DDL 数据库定义语言 影响数据结构的,增删改查库或表 2.DML 数据库操作语言 操作数据,对表中数据的增删改查 3.DCL 数据库控制语言 创建用户,管理用户权限,事务控制 非标准分类:DQL 数据库查询语言,把对数据的增删改查中的查单独提出来 先看几张图,对数据库结构有个大概的了解 - 为什么要学数据库 1>实现数据共享 2>减少数据的冗余度 3>数据实现集中控制 4>数据一致性,完整性和可维护性,以确保数据的安全性和可靠性 5>故障恢复 - 常用数据库分类 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家 基于MySQL开发人员的商业公司.MySQL是一个关系数据库管理系统。MySQL是开源的。已经被Oracle收购。 2.SQL Server SQL Server是由微软开发的数据库管理系统,它只能在Windows上运行. 3.Oracle 提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。该公司成立于1977年, 最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。 Oracle数据库成为世界上使用最广泛的关系数据系统之一 4.Sybase(隐退) 提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)

sql数据库查询相关操作,SQL的应用——SQL多表连查、子查询、多行子查询

本小妞迷上赌 提交于 2019-12-05 07:09:34
? 1 **SQL多表连查** ? 1 2 3 4 5 6 7 8 --查询员工和部门信息 select * from emp e,dept d where e.deptno=d.deptno --查询员工姓名,部门名称 select e.ename,d.dname from emp e,dept d where e.deptno = d.deptno --查询所有员工姓名,部门名称 select e.*, d.dname from emp e,dept d where e.deptno=d.deptno --查询工资大于3000的员工姓名,工资和部门名称 select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno and e.sal>=3000 ? 1 2 3 4 --非等值查询 --查询公司工资等级 select * from emp e,salgrands where e.sal<=s.hisal and e.sal>s.losal select * from salagrade ? 1 2 3 4 5 --外链接 --左外连接 select * from emp e,dept d where e.deptno=d.deptno(+) --右外连接 select * from emp e

Oracle分析函数Over()

不羁岁月 提交于 2019-12-05 06:07:25
https://www.cnblogs.com/chinas/p/7058771.html?utm_source=itdadao&utm_medium=referral#_lab2_0_4 阅读目录 一、Over()分析函数 1、rank()/dense_rank over(partition by ... order by ...) 2、min()/max() over(partition by ...) 3、lead()/lag() over(partition by ... order by ...) 取前面/后面第n行记录 4、FIRST_VALUE/LAST_VALUE() OVER(PARTITION BY ...) 取首尾记录 5、ROW_NUMBER() OVER(PARTITION BY.. ORDER BY ..) 排序(应用:分页) 6、sum/avg/count() over(partition by ..) 7、 rows/range between … preceding and … following 上下范围内求值 rows between … preceding and … following 二、其他 1、NULLS FIRST/LAST 将空值字段记录放到最前或最后显示 2、NTILE(n) 3、keep(dense_rank first