接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据。单表查询里面的内容也是比较多的,比如单表查询结合比较运算符、逻辑运算符、以及in not in 、between...and、模糊查找、排序查找、去重查找、空值的处理、any以及all的使用。接下来就看一下关于单表查询的使用吧!

我们这里使用oracle自带的一个用户scrott用户,这个用户在数据库处于锁定状态,我们需要把它给解锁。解锁的sql语句是:

alter user scott account unlock identified by test1;
--scott 被锁住 解锁并为scott用户设置登录密码 test1 密码可以随意设置

解锁以后,就可以使用scott下面的表了。我们看一下scott用户下面有哪些表?

我们先使用sql语句查询一下这个emp张表。

select * from emp;

查询结果如下:

1.结合比较运算符使用

敲笔记: >  大于    < 小于   >= 大于等于   <= 小于等于   != 不等于   <>不等于

--查询工资超过3000的员工
select * from emp where sal>;
--查询工资大于3000且职位是clark的员工
select * from emp where sal> or job='ClERK';
--查询工资大于1500 或者工资不等于7566的员工
select * from emp where sal> or sal != ;
--查询工资小于1600的员工
select * from emp where sal<=;

例子:查询工资小于等于1600的员工

select * from emp where sal<=;

查询结果:

2.结合逻辑运算符使用 and or 

敲笔记了:and 优先级大于or and(链接的两个条件都要满足) or(链接的两个条件有一个满足)

先看下使用or进行查询sql

select * from emp;
--查询emp表工资大于3000或者编号大于6000的员工
select * from emp where sal> or empno> and empno<;

查询结果:

在看使用and查询sql

--查询emp表工资大于3000并且编号大于6000的员工
select * from emp where sal> and empno>;

查询结果如下:

3.结合in  not in使用

in  在什么什么里面  not in 不在什么什么里面

--查询工资属于1500    员工信息
select * from emp where sal in (,,);

查询结果:

not  in 的实例:

--查询工资不属于3000   的员工信息
select * from emp where sal not in (,,);

查询结果:

4.结合between...and...使用

between ... and 在什么什么之间

--查询工资在1500-3000的员工信息
select * from emp where sal between and ;

查询结果:

在来一个例子:

--查询工资在1500-3000的员工信息且职位是SALESAMAN的员工
select * from emp where sal between and and job='SALESMAN';

查询结果:

5.模糊查找

%代表通配符。就是可以和任意字符匹配的意思,_ 表示的是匹配一个字符

--查询emp表中的名字包含A的员工信息
select * from emp where ename like '%A%';

查询结果:

继续来一个例子:

--查询mgr编号中中以7开头以8结尾的字符的员工信息
select * from emp where mgr like '7__8';

查询结果:

6.排序查找

order by 是通过什么来排序, 默认是升序排列,也可以使用asc  降序是desc 。

--通过sal排序 默认升序
select * from emp order by sal;

查看结果:

通过sal排序,默认升序

--通过sal排序 降序排序
select * from emp order by sal desc;

查看结果:

7.去重查找

使用distinct  去除重复值

--将job中的salesman进行除去重复
select distinct job from emp;

查看结果:

把salesman重复的去掉,只保留一个。在按照ename进行去除重复值:

--将ename去除重复值
select distinct ename from emp;

查看结果:

去除重复ename值成功,去除就是不显示重复的名字的意思。别把去重理解的太高大上哦~

在演示一个去重失败的例子:

--将job和ename去重,失败,只能去除一个列名
select distinct job,ename from emp;

查看结果:

8.空值处理

is null  空值

--查询mgr的值为null的员工信息
select * from emp where mgr is null;

查询结果:

is not null不是空值

--查询sal不是null的员工信息
select * from emp where sal is not null;

查看结果:

注意:查询空值是is null  而不是 = null

9.结合any和all的使用

--all 表示所有条件都要满足     套路:大于最大值,就满足所有

--all  表示所有条件都要满足
--any 表示满足任意一个
select * from emp where sal>=all(,,); --大于最大值就满足所有值
select * from emp where sal>=; --等于于>=all(,,)

查询结果:

--any 表示满足任意一个   套路:大于最小值,就满足所有

select * from emp where sal>=any(,,); --大于最小值,就满足所有

等价于:

select * from emp where sal>=any(,,); --大于最小值,就满足所有
select * from emp where sal>=; --等价于 >=

查询结果:

关于单表查询,到这里我们就说完了,下一篇给大家分享 关于日期的操作;

Oracle数据库之单表查询的更多相关文章

  1. MySQL数据库之单表查询中关键字的执行顺序

    目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...

  2. MySQL数据库语法-单表查询练习

    MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...

  3. Oracle数据库之多表查询一

    上一篇给大家介绍了数据的单表查询,相信大家对于单表的查询应该都有了一些了解.单表查询在数据库中的使用会有一些,但并不是很多,但是作为初学者,我们需要学习单表查询的思路.今天呢,我们为大家介绍一下数据库 ...

  4. 数据库——MySQL——单表查询

    单表查询语法: SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 关键字的执行 ...

  5. mysql数据库之单表查询多表查询

    单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex e ...

  6. mysql数据库之单表查询

    单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...

  7. Oracle数据库之七 多表查询

    七.多表查询 ​ 对于查询在之前已经学过了简单查询.限定查询.查询排序,这些都属于 SQL 的标准语句,而上一章的单行函数,主要功能是为了弥补查询的不足. ​ 而从多表查询开始就正式进入到了复杂查询部 ...

  8. oracle数据库之多表查询二

    多表查询解题思路: 1.分析题目要查询的结果涉及到那几张表 2.将每张表建立关联条件,否则会产生笛卡尔积 3.分清楚查询的条件,然后使用and将条件链接 4.涉及到分组查询的需要使用聚合函数 5.分组 ...

  9. Oracle查询优化改写--------------------单表查询

    一.查询表中所有的行与列 二.从表中检索部分行 三.查找空值 四.将空值转化为实际值(coalesce) 五.查找满足多个条件的行(查询部门为10中所有的员工.所有得到提成的员工,以及部门20中工资不 ...

随机推荐

  1. Linux bash shell 入门

    https://www.cnblogs.com/cosiray/archive/2012/03/02/2377099.html

  2. gen_fsm的学习笔记

    网上搜索gen_fsm的例子,90%都是code_lock,依葫芦画瓢弄了下,记录一些学习心得 init(UnLockCode) -> process_flag(trap_exit,true), ...

  3. 分布式锁之三:mysql实现-待整理

    下面我们来看下开源dubbo推荐的业界成熟的zookeeper做为注册中心, zookeeper是hadoop的一个子项目是分布式系统的可靠协调者,他提供了配置维护,名字服务,分布式同步等服务.对于z ...

  4. python开发mysql:索引

    一,索引管理 索引分类: 普通索引INDEX:加速查找 唯一索引: -主键索引PRIMARY KEY:加速查找+约束(不为空.不能重复) -唯一索引UNIQUE:加速查找+约束(不能重复) 联合索引: ...

  5. jQuery笔记——Ajax

    Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML), 它并不是 JavaScript 的一种单一技术,而是利用了一系列交互式 ...

  6. Oracle数据库Where条件执行顺序

    由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHE ...

  7. hbase集群配置

    说明 安装 配置 启动 网页效果 一点废话 本文介绍hbase集群配置 说明 hbase想正确配置成功的前提是,你必须知道hadoop集群和zookeeper集群是如何配置的 安装 下载地址 http ...

  8. java成神之——注释修饰符

    注释修饰符 自定义注释 元注释 通过反射在runtime访问注释 内置注释 多注释实例 错误写法 使用容器改写 使用@Repeatable元注释 注释继承 使用反射获取注释 获取类的注释 获取方法的注 ...

  9. Python Twisted系列教程15:测试诗歌

    作者:dave@http://krondo.com/tested-poetry/  译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅读:也可以从”Twisted 入门!“浏览 ...

  10. 4.solr学习速成之bean

    以bean的形式提交索引,以bean的形式查询出来 package com.liucheng.solr; import java.io.Serializable; import org.apache. ...