转到进阶查询

查看表的结构

desc  表名;

 desc student;

查看整张表的数据

select * from 表名; //查整张表很耗时间

select* from student;

查看表的一列,或几列

select 列名,列名 from 表名;

 select name,age from student;

字符串连接 ||

select 'a'||'b' from dual 

查询时过滤掉重复的行

select distinct 列名,列名 from 表名;

 select distinct name,age from student;

使用算数表达式

用字段名进行加减乘除的运算

select score+5,name from student ; // 给所有人的成绩加5分,并查看成绩和对应的人名

取别名

select age "年龄" from student;

 

用nvl处理null值

 select  nvl(age,0) from student;   //如果 age中有null值则把它改成0;

order by 

asc 正序 desc 倒序

按查询结果的第三列排序

SELECT * FROM student ORDER BY 3 DESC

多字段排序

SELECT * FROM student ORDER BY 2 DESC,3 ASC --数字可换成字段

连接字符串

连接字符串有||相当于 sqlserver中的+

SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee; 

题外在sql语言中字符串用‘’单引号

where 查询时的条件

select  age  from student where age>60;

使用 like 模糊查询

1、 可以使用一个或多个% 查询包含某个字符的字段。

select name from student where '%a%b%';

表示查找name中 包含  ....a....b.... 的字符。

2、_ 下划线 表示单个任意字符

select name from student where '_a_b_';

查询 name 有五个单词组成,并且第二位是a,第四位是b。

3、[] 查询出带有括号内的某一个字符

select name from student where '[abw]';

查询出的name字符带有a、b、w中的一个。

select age from student where '[0-9]';

包含 0到9中的任意一个数字。

4、[^] 找出的字段中不能包含括号里的字符

select name from student where '[^abd]';

name里不能含有 a 或者 b 或者 d。

in

相当于=加上or

SELECT *FROM supplier WHERE supplier_name = 'IBM' OR supplier_name = 'Hewlett Packard' OR supplier_name = 'Microsoft';

和这句话是相等的

SELECT * FROM supplier WHERE supplier_name in ( 'IBM', 'Hewlett Packard', 'Microsoft');

用in更加简练,直观。

exsits

???

查询 空 时用is null

select *  from score where student is null;

时间查询

select DEAL_TIME  from TABLE where DEAL_TIME >= to_date('2017-2-1','yyyy-mm-dd')  and DEAL_TIME <= to_date('2017-3-1','yyyy-mm-dd');
select DEAL_TIME  from TABLE where DEAL_TIME >= to_date('2017-2-1 23:59:59','yyyy-mm-dd hh24-mi-ss'); 
select DEAL_TIME from TABLE where  to_char(DEAL_TIME,'yyyy-mm-dd')>='2017-01-02'

 

限制返回行数

select * from T_BD_STAFF where rownum = 1     --rownum <=10

如果固定想查第二行

select * from (select rownum as id,emp.* from emp where  rownum<=50) where id=2

随机查询几行

DBMS_RANDOM.VALUE ()方法

SELECT 字段A, 字段B
FROM (SELECT *
FROM emp
ORDER BY DBMS_RANDOM.VALUE ())
WHERE ROWNUM <= 3

dual

????

select into

登录用户日志查询

select sid, serial#,
username, --连接用户名
program, --应用程序名
machine, --机器名
osuser, --操作系统用户
logon_time --登录时间
from v$session;

在 sqlpuls中 使用 ed 指令能打开编辑记事本,打开记事本后,保存-关闭。

使用 \ 能执行上一条数据

使用 a 命令追加上 sql的内容。

a  sql      --强调 a 后面一定要是两个空格 不然会和上条命令间无空格

查询统计大于1行的字段

select name from table group by name having count(name)>

(9)oracle 表的基本查询的更多相关文章

  1. Oracle表的常用查询实验(一)

    Oracle表的常用查询实验(一) 练习1.请查询表DEPT中所有部门的情况. select * from dept; 练习2.查询表DEPT中的部门号.部门名称两个字段的所有信息. select d ...

  2. Oracle表的基本查询

    Oracle 分页 1.rownum分页 Select * from emp; Select a1.*,rownum rn from (Select * from emp) a1; 2.显示rownu ...

  3. Oracle表空间状态查询、意义及修改方式

    查询表空间状态 select tablesapce_name,status from dba_tablespaces; 表空间的状态属性主要有在线(online),离线(offline),只读(rea ...

  4. ORACLE 表空间使用率查询

    SELECT A.TABLESPACE_NAME, A.BYTES / (1024 * 1024 * 1024 ) TOTAL, B.BYTES / (1024 * 1024 * 1024 ) USE ...

  5. 六分钟学会创建Oracle表空间的步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...

  6. oracle 表查询(2)

    使用逻辑操作符号 问题:查询工资高于500 或者是岗位为MANAGER 的雇员,同时还要满足他们的姓名首字母为大写的J? or job = 'MANAGER') and ename LIKE 'J%' ...

  7. oracle 表查询(1)

    oracle 表基本查询 介绍在我们讲解的过程中我们利用scott 用户存在的几张表(emp,dept)为大家演示如何使用select语句,select 语句在软件编程中非常有用,希望大家好好的掌握. ...

  8. Oracle单表的简单查询

    Oracle单表的简单查询 查看表结构 desc emp; 查询所有列 Select * from emp; 查找所以部门编号(查指定的列) select deptnofrom emp; 查找编号不同 ...

  9. Oracle多表的简单查询

    Oracle多表的简单查询 .多表查询 多表查询是指基于两个和两个以上的表或是视图的查询. 问题:显示雇员名,雇员工资及所在部门的名字[笛卡尔集]? select t.ename,t.sal,t1.d ...

随机推荐

  1. ARC下还会存在内存泄露吗?

    1.第三方框架不正当使用.2.block,delegate,NSTimer循环使用.3.非oc对象的内存处理.4.地图类处理.5.大次数循环内存暴涨. 非oc对象的释放: 例如使用CGImageRel ...

  2. 《Cracking the Coding Interview》——第17章:普通题——题目1

    2014-04-28 21:45 题目:就地交换两个数,不使用额外的变量. 解法:没说是整数,我姑且先当整数处理吧.就地交换可以用加法.乘法.异或完成,其中乘法和加法都存在溢出问题.三种方法都不能处理 ...

  3. Webdriver--获得验证信息

    title:获得当前页面的标题 current_url:获得当前页面的URL text:前面提到过,获得标签对的文本信息 try: couseTitle = driver.find_element_b ...

  4. CentOS vim中backspace不能用,出现^?的解决方法

    查看在VI配置器下面使用backspace删除时提示输出那个字符例如:^H.^?.^a等字符如果输出的是:^? 字符 则使用以下命令:[oracle@junyii~]$ stty erase ^? 再 ...

  5. ASP.NET Core 2.1 源码学习之 Options[2]:IOptions 【转】

    原文链接:https://www.cnblogs.com/RainingNight/p/strongly-typed-options-ioptions-in-asp-net-core.html 在 上 ...

  6. 安卓自动化robotium工具简单使用(二)

    在学习安卓的这段时间里,刚好有个朋友有一个APP的应用需要开发. 我马上就动手开始做着试试,在完成开发的同时写了相应的自动化测试代码,使用的是robotium. 才接触安卓没几天,写的不太好,如果有好 ...

  7. warning MSB3162: 所选的“Microsoft Report Viewer 2012 Runtime”项需要“Microsoft.SqlServer.SQLSysClrTypes.11.0”。在“系统必备”对话框中选择缺少的系统必备组件,或者为缺少的系统必备组件创建引导程序包。

    warning MSB3162: 所选的“Microsoft Report Viewer 2012 Runtime”项需要“Microsoft.SqlServer.SQLSysClrTypes.11. ...

  8. 【转】PHP对象在内存中的分配

    对像在PHP 里面和整型.浮点型一样,也是一种数据类,都是存储不同类型数据用的, 在运行的时候都要加载到内存中去用,那么对象在内存里面是怎么体现的呢?内存从逻辑上 说大体上是分为4 段,栈空间段.堆空 ...

  9. 为什么实际内存使用量已经超过了memory.soft_limit_in_bytes,但是并没有立即触发try_to_free_pages in try_charge

    kswapd发起的回收过程汇总会通过cgroup的excessed树进行回收,但是这个kwap都是啥时候被唤醒呢?为啥不是mem_cgroup_soft_limit_reclaim 发现在内核在在:p ...

  10. PHP实现图片上传并压缩

    本文实例讲解了PHP图片上传并压缩的实现方法,分享给大家供大家参考,具体内容如下 使用到三个文件 connect.php:连接数据库 test_upload.php:执行SQL语句 upload_im ...