• .查询当前数据库中所有表名
select *
from user_tables;
  • .查询指定表中的所有字段名
select column_name
from user_tab_columns
where table_name = 'table_name';--表名要全大写
  • .查询指定表中的所有字段名和字段类型
select column_name, data_type
from user_tab_columns
where table_name = 'table_name';--表名要全大写
  • .查询指定表的所有列名和相应的列注释
select *
from user_col_comments
where table_name = 'table_name';--表名要全大写
  • 给表中列名添加注释
comment on column 表名.列名 is '注释';
  • .查询当前数据库中所有表名和注释
select *
from user_tab_comments;
  • .对于指定的字段所选择的重复行,只返回一行
select distinct job
from emp
where deptno = 20;
  • .向数据库中按表中字段插入数据
insert into table_name(列名1,列名2,列名3,)
values(值1,值2,值3);
  • .向数据库中插入数据
insert into table_name
values(值1,值2,值3),(值1,值2,值3),······,(值1,值2,值3);--值要和表中的字段顺序类型一致
  • .按时间条件查询
select *
from 表名
where 时间字段名 > to_date('20210414 16:00:00','yyyy/mm/dd hh24:mi:ss');
  • 按时间查询(时间是String型)
SELECT *
FROM 表名
WHERE  TO_DATE(字段名, 'YYYY-MM-DD') > TO_DATE('20210601', 'YYYY-MM-DD')
  • .查询系统当前时间
select TO_Char(SysDate,'YYYY-MM-DD HH24:MI:SS')
from Dual;
  • .查系统日期
select sysdate from dual; --当前日期和时间
select trunc(sysdate) from dual;--今天日期
select trunc(sysdate ,'DD') from dual; --今天日期
select trunc(sysdate,'d')+7 from dual;--本周星期日的日期
select trunc(sysdate,'dy')+7 from dual;  --本周星期日的日期
select trunc(sysdate,'day')+7 from dual; --本周星期日的日期
select trunc(sysdate,'q') from dual; --本季开始日期
select trunc(sysdate,'month') from dual; --本月开始日期
select trunc(sysdate ,'mm') from dual; --本月开始日期
select trunc(sysdate,'year') from dual;  --本年开始日期
select trunc(sysdate ,'yyyy') from dual; --本年开始日期
select trunc(sysdate ,'HH24') from dual; --本小时开始时间
select trunc(sysdate ,'MI') from dual; --本分钟开始时间
select trunc(sysdate ,'CC') from dual; --本世纪开始日期
select trunc(LAST_DAY(sysdate),'dd') from dual; --本月最后一天
  • .删除表中一行数据,删除操作作为事务记录在日志中保存
DELETE FROM 表名称
WHERE 列名称 = 值;
  • .清空表中所有数据,没有日志
TRUNCATE TABLE 表名称
  • .删除表
DROP TABLE table_name
  • .以cno升序、degree降序查询Score表的所有记录
select *
from score
order by cno,degree desc
  • .查询表QTY中列名NAME下,LOVE条件,有几条数据
select count(NAME)
from QTY
where NAME = 'LOVE';
  • .查询表QTY中,最高QTY_D的,QTY_D、SEQ_ID和NAME
select NAME,SEQ_ID,QTY_D
from QTY
where QTY_D in(select max(QTY_D) from QTY);
  • .查询表QTY中,相同NAME下,QTY_D的平均值
select avg(QTY_D),NAME
from QTY
group by NAME;
  • .查询QTY表中,至少有5个相同NAME下,并以“冰”开头的,QTY_D的平均值、NAME和相同NAME的数量
select avg(QTY_D),NAME,count(PRODUCT_CATEGORY_NAME)
from QTY
where NAME like '冰%'
group by NAME
having count(NAME)>5;
  • .查询QTY表中,多个字段,和他们的平均值(字段必须是数字型)
select QTY_D,QTY_D_TQ,QTY_M,QTY_M_TQ,(QTY_D+QTY_D_TQ+QTY_M+QTY_M_TQ)/4 as average
from QTY
  • .查询QTY表中,QTY_D的值,并对QTY_D的值做出评价
select QTY_D,(case when QTY_D<20 then '低' when QTY_D>=20 and QTY_D<=50 then '中' when QTY_D>50 then '高' else '低' end) as evaluation
from QTY
--模板
CASE WHEN condition THEN result[WHEN...THEN...]ELSE resultEND
condition是一个返回布尔类型的表达式,
如果表达式返回true,则整个函数返回相应result的值,
如果表达式皆为false,则返回ElSE后result的值,
如果省略了ELSE子句,则返回NULL。

详细用法

  • 快速检查有无数据
select max(字段名),min(字段名)
from 表名
  • 查询百分比数
select _NAME,sum(_M),sum(_PBP),round(sum(_M)/sum(_PBP),3)*100||'%' pbp达成率
from 表名
group by _NAME;SELECT decode(achieve_rate,0,'0.00', to_char(round(achieve_rate*100,2),'FM9999999999999999.00'))||'%'
FROM ACHIEVE_RATE -- 查询结果会保留小数点后的0
  • 返回结果集中前10行
select * from tableName where rownum <= 10;
  • 返回结果集中第10行到第100行
select * from (select rownum rn,t.* from tableName t) where rn<=100 and rn >=10;
  • 查询时返回序号
select t.id,t.score 数学分数,rownum
from
(select b.id,b.score
from grade b
where b.subject='数学'
order by score
desc) t,
student a
where a.id=t.id

oracle测试实用SQL语句相关推荐

  1. sqlserver sql语句|经典sql语句|实用sql语句

    sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop databa ...

  2. oracle维护常用SQL语句(查看系统表和视图)

    转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...

  3. Oracle]高效的SQL语句之分析函数

    [Oracle]高效的SQL语句之分析函数(一)--sum() 实际应用中我们可以通过sum()统计出组中的总计或者是累加值,具体示例如下: 1.创建演示表 create table emp as s ...

  4. 本地可以使用oracle吗,Oracle - PLS-00642:SQL语句中不允许使用本地集合类型

    我是ORACLE编程中的新手,我试图将表列值与传入的数组进行比较,并且我在此过程中遇到了相当令人沮丧的时间.Oracle - PLS-00642:SQL语句中不允许使用本地集合类型 这是来自包头的类型 ...

  5. sql语句执行效率测试的sql语句。

    sql语句执行效率测试的sql语句. 注解: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与 ...

  6. Oracle数据库中SQL语句用法(一)

    Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...

  7. Oracle查看注释SQL语句

    Oracle查看注释SQL语句 --查询表的列名和对应列名的注释 --查询表的字段类型及字段长度 --查询表名注释 --查询创建视图语句 --查询视图的列注释 --删除视图 --查看视图名注释 --修 ...

  8. oracle表中增加字段 sql语句,ORACLE中通过SQL语句(alter table)来增加、删除、修改字段...

    1.添加字段: alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ; 2.添加备注: comment on ...

  9. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

最新文章

  1. No resource found that matches the given name '@style/Theme.AppCompat.Light'
  2. Linux上的WebSphere MQ开发快速入门
  3. ServletConfig 对象
  4. windows下的diskpart指令彻底格式化清除U盘
  5. Linux学习之CentOS(三)----将Cent0S 7的网卡名称eno16777736改为eth0
  6. Android 系统(257)---Launcher显示未读通知的数量
  7. Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)(转载)
  8. J - X and Beasts
  9. 【Android】12.0 第12章 Intent及其过滤器—本章示例主界面
  10. vue的json格式化工具json-viewer
  11. [网络应用]11款来自 deviantART 的 foobar 2000 皮肤
  12. 计算机总线控制驱动,什么是sm总线控制器,总线控制器驱动怎么安装?
  13. List集合去重的常见几种方式
  14. solidworks迈迪插件_迈迪工具集V55特别PJ版_打包下载
  15. JAVA羽毛球篮球运动场地预约管理系统毕业设计 开题报告
  16. 蓝桥杯青少年创意编程大赛 scratch python C++ 资料集(2022.07.08)
  17. 新物种IMO:踩在腾讯和阿里之间
  18. 如何自己制作CHM电子书?
  19. 平分七筐鱼c语言y,平分七筐鱼 - 寂寞暴走伤的个人空间 - OSCHINA - 中文开源技术交流社区...
  20. 相机标定与三维重建原理

热门文章

  1. 最小二乘法函数拟合原理及matlab实现—数学笔记
  2. 关于我用python表白成功这件事【表白成功】
  3. 小计Tomcat的调优思路
  4. 成长笔记4:教育是什么
  5. The security economics of large-scale attacks against Internet-connected ICS devices
  6. python读取json文件,大批量写入mongo
  7. 翻译:浏览器内部的工作原理
  8. 数学术语的英汉对照(权威,全面)
  9. 厉害了,Python也能操作注册表
  10. 暗棋单机版_中国象棋暗棋下载_中国象棋暗棋安卓版下载 v1.6.8 安卓单机版_飞飞巴士下载...