Oracle-高级SQL限定查询

举报
小奇JAVA 发表于 2022/06/24 23:42:43 2022/06/24
【摘要】 一个人必须不停地写作,才能不被茫茫人海淹没 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图...

一个人必须不停地写作,才能不被茫茫人海淹没
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述


关系运算:>、=、<、>=、<=、!=、<>
范围运算:between…and
空判断:is null、is not null
IN判断:in、not in
模糊查询:like、not like
逻辑运算:and(与)、or(或)、not(非)

一、关系运算符

1、查询年龄低于20的学生

select * from student where age < 20;

  
 
  • 1

2、查询所有的男同学

select * from student where sex='男';

  
 
  • 1

3、查询不是男同学的所有学生

以下两种都可以

select * from student where sex != '男';
select * from student where sex <> '男';

  
 
  • 1
  • 2

二、逻辑运算符

and、or

1、查询不是男生但是年龄小于20的同学

select * from student where sex != '男' and age < 20;

  
 
  • 1

2、查询是女同学或者年龄大于20的同学

select * from student where sex = '女' or age > 20;

  
 
  • 1

3、查询年龄小于20的同学

以下两种都可以

select * from student where age < 20;
select * from student where age not >= 20;

  
 
  • 1
  • 2

三、范围运算

1、查询年龄在10岁到20岁之间的同学

以下两种都可以,但是between是一个运算符,而另外一个是一个关系运算符>=加上一个逻辑运算符and,所以between的效率要高一些。

select * from student where age between 10 and 20;
select * from student where age >= 10 and age <= 20;

  
 
  • 1
  • 2

2、查询在1998年9月出生的学生

select * from student where birthday between '01-9月-98' and '30-9月-1998';

  
 
  • 1

四、空判断

1、查询姓名不为空的同学

select * from student where name is not null;

  
 
  • 1

五、IN操作符

1、查询姓名为张三和李四的同学

select * from student where name in ('张三','李四');

  
 
  • 1

2、查询姓名为张三和空的同学

select * from student where name in ('张三',null);

  
 
  • 1

3、查询姓名不为张三和空的同学

select * from student where name not in ('张三',null);

  
 
  • 1

这里需要注意,当not in中有null时,是查询不出任何结果的。

六、模糊查询

“_”:匹配任意的一位符号。
“%”:匹配任意个符号,可以是0、1、2、多个符号。

1、查询姓李的同学

select * from student where name like '李%';

  
 
  • 1

2、查询姓李的同学,并且名字只有两个字

select * from student where name like '李_';

  
 
  • 1

3、查询名字中包含“帅”字的同学

select * from student where name like '%帅%';

  
 
  • 1

七、查询排序

order by [排序规则]
默认和asc是正序排序
desc是倒序排序

1、查询所有同学,并且按照年龄由小到大排序

select * from student order by age;

  
 
  • 1

2、查询所有同学,并且按照年龄由大到小排序

select * from student order by age desc;

  
 
  • 1

3、查询所有同学,并且按照年龄由大到小排序,如果年龄相等则按照学号由小到大排序

select * from student order by age desc,sno;

  
 
  • 1

4、查询所有同学,并且按照年龄由大到小排序,如果年龄相等则按照学号大到小排序

select * from student order by age desc,sno desc;

  
 
  • 1

八、总结

这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。

文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。

可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

文章来源: xiaoqijava.blog.csdn.net,作者:旷世奇才李先生,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaoqijava.blog.csdn.net/article/details/125417602

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。