oracle的基本查询和复杂查询

基本查询:

select语句:

Set timing on:打开显示操作时间;


select count(*) from 表名:查询数据总数;

desc 表名:查看表结构;

select * from 表名:查询所有列;

select 字段名 from 表名:查询指定列;

查询所有行比查询指定行更加费时;

select distinct 字段名 from 表名:取消重复行;

select 字段名运算 别名 from emp:算数计算和别名;

 


一旦其中有一个字段是null的时候,整个运算结果就成了null

这时我们就使用nvl(字段名,0),意思为“如果这个字段为null,那么就用0代替”

 

select 字段名 ||’连接的字符串’|| 字段名 from 表名:连接字符串;

 

 

Where语句:

Where 字段名 条件:条件有>,<等;

and:多个条件并列使用;

 

 

 

Like

%:表示任意0到多个字符;

_:表示任意单个字符;

使用方法:

 

 

In

 

 

Is null:

 

 

使用逻辑操作符:

 

Order by

默认是asc:升序,降序为desc

 

复杂排序的首次条件用”,”分开

 

别名的使用:

 

复杂查询:

数据分组:max,min,avg,sum,count;

 

分组函数不能和字段名并列:

 

Group byhaving子句:

Group by:

 

 

Having:

 

特别注意:

1.分组函数只能出现在选择列表,having,order by子句中

2.如果在select语句中同时包含group by,having,order by那么他们的顺序是前面的顺序

3.在选择列中如果有列,表达式,和分组函数,那么这些列和表达式必须有一个出现在group by子句中,否则就会出错

多表查询:

 

Between ... And ...:

 

自连接:

 

子查询:

Select语句中镶嵌select语句;

单行子查询:返回一行数据的子查询;

多行子查询:返回多行数据的子查询,因为是多行数据,所以我们就要用到in,返回的数据有可能重复,所以我们就要用到distinct

多行单列子查询:

 

All

 

Any:

 

单列多行子查询:

 

注意事项:

 

如下:而且给表取别名时不能用as

 

分页:

rownum

 

选定6~10行:

 

这种选择有个特点:指定查询列,只需修改最里层的子查询;

如何排序,也只需要修改最里层

 

用选择的数据创建表:

 

合并查询:

Union

 


Intersect

 

Minus

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值