当前位置: 移动技术网 > IT编程>数据库>Oracle > Oracle基本、多表、子查询、排序

Oracle基本、多表、子查询、排序

2020年07月14日  | 移动技术网IT编程  | 我要评论

Oracle基本、多表、子查询、排序

基本查询

  • 选择行
select 列名 from 表名 where 列名 = '值1';
  1. 去除重复行
select distinct 列名 from 表名;
  • 比较查询
  1. 运算符
运算符 说明
= 等于
> 大于
>= 大于等于
< 小于
<= 小于等于
<> 不等于
!= 不等于
  • 范围查询

between and

select *from  表名  where BETWEEN 最小值  AND 最大值;

in

select 列名1,列名2 from where 列名1 IN(数值1,数值2);
  • 模糊查询
通配符 说明
% 表示0个或多个字符
_ 表示单个字符

like

select *from 表名 where 列名 LIKE '通配符';

回避特殊符号

select *from 表名 where 列名 LIKE 'oracle\_%' escape'\';
//oracle_abc
  • 判断空值

is null / is not null

select 列名1,列名2 from 表名 where 列名1 IS NOT NULL;
//输出满足列的非空值
  • 逻辑运算
操作符 说明
AND 逻辑与
OR 逻辑或
NOT 逻辑否

逻辑操作符的优先级别

NOT > AND > OR

子查询

子查询是嵌套在其他SQL语句中,也叫嵌套查询
不能在group by子句使用

  • 相关子查询

相关子查询先执行主查询,再执行子查询

  • 多行子查询
运算符 说明
In 等于列表任何一个
All 和所有的返回值比较
Any 和任意一个返回值比较

多表查询

  • 笛卡尔集
  • 内连接Inner join

只返回满足条件的记录

from 表名1 inner join表名2 on 列名1 = 列名2
  1. 等值连接和非等值连接:=

1.使用列别名提升效率,但不简洁
列别名1 = 列别名2
2.使用表别名jian’hua连接查询,提高查询性能
表别名1.列 = 表别名2.列

  1. 自然连接Natural join
  • 外连接

外连接是标准连接的扩展,它不仅会返回满足条件的所有j记录,而且还会返回不满足连接条件的部分记录

1.第一种方式
操作符(+)
左外连接: 表名1 = 表名2+)
右外连接: 表名1+= 表名2

2.第二种方式
左外连接: from 表名1 left join表名2 on 列名1 = 列名2
右外连接: from 表名1 right join表名2 on 列名1 = 列名2
完全外连接: from 表名1 full join表名2 on 列名1 = 列名2
  • 自连接

将同一张表看成一张表

  • 交叉连接 cross join
  • Set 运算符

Set操作符注意事项:查询语句中的 列名 和 表达式 在数量和数据类型上要相对应

集合操作符 说明
union / union all 并集 / 并集(有重复行)
intersect 交集
Minus 差集
查询语句1 集合操作符 查询语句2

排序

ORDER BY子句

  • 单列排序
//升序(默认升序)
select  列名1 from 表名 ORDER BY 列名1 ASC;
//降序
select  列名1 from 表名 ORDER BY 列名1 DESC;
  • 列别名排序
select  列名1 列名1的列别名 from 表名 ORDER BY 列名1的列别名 ASC;
  • 多列排序
select  列名1 列名2 from 表名 ORDER BY 列名1 ASC,列名2 DESC;

以!上!内!容!

以上内容仅为自我领悟、亲身碰遇困处或难处的学习笔记
如有错误,欢迎指正!!!

点击返回首目录

本文地址:https://blog.csdn.net/StudyPower_Max/article/details/107265717

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网