select 列名 from 表名 where 列名 = '值1';
select distinct 列名 from 表名;
运算符 | 说明 |
---|---|
= | 等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
<> | 不等于 |
!= | 不等于 |
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 = 列别名2
2.使用表别名jian’hua连接查询,提高查询性能
表别名1.列 = 表别名2.列
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操作符注意事项:查询语句中的 列名 和 表达式 在数量和数据类型上要相对应
集合操作符 | 说明 |
---|---|
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
如对本文有疑问, 点击进行留言回复!!
Oracle常用语句(时间格式、去重、去特殊符号、查询表空间等)
Navicate 如何导出数据库中的存储过程、事件、视图等?
每日一记:Oracle升级2020年4月份的数据库补丁Database Patch Set Update : 11.2.0.4.200414 (30670774)
Oracle 19.3 dataguard for Redhat 7.6
网友评论