10Oracle Database 数据表数据查询
Oracle Database 数据表数据查询
DML 数据操纵语言 - 数据的查看和维护
select / insert /delete /update
基本查询语句
Select [distinct] column_name1,…|* from table_name [where conditions]
在SQL*PLUS中设置格式
列名设置
Column column_name heading new_name
Col column_name heading new_name
显示格式
Column column_name format dataformat
Col column_name format a10 字符型长度
Col column_name format 9 位数长度
清楚设置的格式
Column column_name clear
查询全部或部分字段
查询结果设置别名
运算符与表达式
算术运算符(+ - * /)
比较运算符(> >= < <= = <>)
逻辑运算符(and or not)
有条件的查询
where
模糊查询
Like
通配符(_,%)
范围查询
Between …and
In
Not in
对查询结果排序
Select ..from…[where…] order by column1 asc/desc,…
Case…when语句
Case column_name
When value1 then result1,…
[else result] end
Case
When column_name=value1
Then result1,…[else result] end
Decode函数
Decode(column_name,value1,result1,...,defaultvalue)
运算符
< 小于
<= 小于等于
> 大于
>= 大于等于
= 等于
!= 不等于
<> 不等于
:= 赋值
is null 如果操作数为null返回true
like 比较字符串 _代表一个字符 %代表多个字符
create table test
(
a number
)
insert into test value(10);
insert into test value(20);
insert into test value(30);
between 验证值是否在范围之内
select * from test where a between 10 and 20;
in 验证操作书在设定的一系列值中
select * from test where a in(1,10,20,30);
all 表示子查询返回值中的所有值,相当于比较最大值
select sal from emp where sal > all( select sal from emp where sal<2000);
any 表示子查询返回值中的任意值,相当于最小值
and 两个条件都满足
or 只满足一个
not 取反
+ 加
- 减
* 乘
/ 除
基础查询
<--基本的select语句-->
select 列名,列名,.. from 表名,表名,.. where 条件 group by 列名 having 条件
select 是必须的 ,后面添你要查询的列名 ,* 代表所有
from 是必须的 , 后面填写你要查询的表名,可以有多个
where 可选的,后面填写你的查询条件
group by 可选的,对聚合进行分组,当查询内容多于一列且包含聚合函数时使用
having 仅用于group by 的关键字,和where作用一样
<--消除相同的行-->
select distinct 列名,列名,..from 表名
<--排序 order by-->
select 列名,列名,.. from 表名 order by 要排序的列名
<--注意:order by指令需聚合函数配合使用,否则只能是单列-->
<--聚合函数-->
avg 平均值
select avg(emp.sal) from emp;
sum 求和
select sum(emp.sal) from emp;
max 最大值
select max(emp.sal) from emp;
min 最小值
select min(emp.sal) from emp;
count 总数
select count(emp.sal) from emp;
<--排序-->
升序
select * from emp order by emp.sal ;
降序
select * from emp order by emp.sal desc;
<--数据复制-->
select * into myemp from emp;
<--表复制-->
create table myemp as select * from emp;
<--小技巧-->
哑元表 在没有查询表的情况下使用
select 1+1 from dual
查询分割 ||
select a.a1 ||'----'|| a.a2 from a;
查询行数限制
select * from a where rownum<=2;
查询表结构
desc tab_name
数据复制
select tab_name into tab_name|var from tab_name
高级查询
笛卡尔乘积
select dname,ename from emp,dept; 这种通过多张表简单对加是没有太大意义的
集合运算
交集 用来得到两个或者多个不同集合的共同元素,两个集合的交集就是其中所有属性相等的元素.交集有一个严格的限制:每个结果集中所有列都必须匹配相等
减集 用来查找在一个集合中出现过,而在另一个集合中没有出现的元素,与交集相反的是: 每个结果集中所有列都必须匹配不相等
并集 用来合并两个或者多个类似的集合
交集 intersect
select语句 intersect select语句
减集 minus
select语句 minus select语句
并集 union or union all
select语句 union select语句
内连接
在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
select dname,ename from dept,emp where dept.deptno = emp.deptno
外连接
条件列使用(+),则此列为外连列,主列信息全部显示,外连列没有则显示空
多行子查询
返回多个行,必须包含一个多行运算符。
10Oracle Database 数据表数据查询的更多相关文章
- MySQL(九)之数据表的查询详解(SELECT语法)一
这一篇是MySQL中的重点也是相对于MySQL中比较难得地方,个人觉得要好好的去归类,并多去练一下题目.MySQL的查询也是在笔试中必有的题目.希望我的这篇博客能帮助到大家! 重感冒下的我,很难受!k ...
- 关于EF中实体和数据表以及查询语句映射的问题
关于EF中实体和数据表以及查询语句映射的问题? 很多人在使用的时候分不清楚 实体字段应该少于等于(数据库中的表字段或者SQL查询中的临时字段).这样在查询或者添加修改都不会出现问题 如果实体的字段大于 ...
- 09Oracle Database 数据表数据插入,更新,删除
Oracle Database 数据表数据插入,更新,删除 插入数据 Insert into table_name(column) values(values); insert into studen ...
- SQL Server2016导出数据表数据
SQL Server2016导出数据表数据 高文龙关注0人评论3914人阅读2017-09-22 08:41:56 SQL Server2016导出数据表数据 我们前面已经介绍了很多关于SQL Ser ...
- mssql sqlserver 三种数据表数据去重方法分享
摘要: 下文将分享三种不同的数据去重方法数据去重:需根据某一字段来界定,当此字段出现大于一行记录时,我们就界定为此行数据存在重复. 数据去重方法1: 当表中最在最大流水号时候,我们可以通过关联的方式为 ...
- Django学习之天气调查实例(2):显示数据表数据
数据表数据添加后,如添加3条用户信息,分别为“aaa”.“bbb”.“ccc”,现在通过代码的方式显示数据表中的数据. 1.在website项目文件夹中创建 userload.py文件,并且写如下代码 ...
- MySQL(九)之数据表的查询详解(SELECT语法)二
上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1 ...
- MySQL常用sql语句-----数据表的查询操作
常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...
- MySql——创建数据表,查询数据,排序查询数据
参考资料:<Mysql必知必会> 创建数据表 在学习前首先创建数据表和插入数据.如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675 ...
随机推荐
- 【bzoj1149】 [CTSC2007]风玲Mobiles
题目意为:给一颗二叉树,每一次操作可以交换该子树的左右两颗子树,要将该树变为完全二叉树,求最小操作次数.从根开始进行一遍DFS.记录每棵子树的大小size,如果左子树的size小于右子树的size那么 ...
- gcc优化选项解析
1 -fno-defer-pop 函数返回的时候,就立即将栈里面放置的该函数的参数pop出来.这样可以避免函数参数占用过多的栈空间. 2 -fforward-propagate ? 3 -ffp-co ...
- Android原生音量控制【转】
本文转载自:http://blog.csdn.net/u013082948/article/details/65630085 本文主要涉及AudioService.还是基于5.1.1版本的代码. Au ...
- JavaScript中的string interpolation
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals var a = 5; var b ...
- matlab绘制曲线对比图
>> clear;>> x1=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8];>> y1=[0,0.55,0.69,0.86,0.93,0. ...
- bzoj 2662: [BeiJing wc2012]冻结【分层图+spfa】
死活想不到分层图emmm 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为val/2,表示免了这条边的边权,然后答案就是第0层的s到k层的 ...
- bzoj 1754: [Usaco2005 qua]Bull Math【高精乘法】
高精乘法板子 然而WA了两次也是没救了 #include<iostream> #include<cstdio> #include<cstring> using na ...
- P3207 [HNOI2010]物品调度
传送门 完了题目看错了--还以为所有的\(x,y\)都要一样--结果题解都没看懂-- 先考虑如果已经求出了所有的\(pos\)要怎么办,那么我们可以把\(0\)也看做是一个箱子,然后最后每个箱子都在一 ...
- SP1557 GSS2 - Can you answer these queries II(线段树)
传送门 线段树好题 因为题目中相同的只算一次,我们可以联想到HH的项链,于是考虑离线的做法 先把所有的询问按$r$排序,然后每一次不断将$a[r]$加入线段树 线段树上维护四个值,$sum,hix,s ...
- [App Store Connect帮助]五、管理构建版本(3)在您提交以供审核前选择构建版本
在提交 App 至“App 审核”前,请(从您为该版本上传的所有构建版本中)选择您想要提交的版本.一个 App Store 版本仅可关联一个构建版本.但是,在提交该版本至“App 审核”之前,您可以任 ...