oracle基本查询用法

查询
查询使用DML查询部分的支持
可以查询全部的记录,但是通过语法控制列的显示与否 也可以成为数据的投影
语法
select 【distinct】* |列 【别名】,。。。。
from 表名称 【别名】
FROM字句 确定数据来源,来源只能是表结构(行与列的集合)

范围查询
一.语法
where ‘数据’ between 最小值 and 最大值
1.例句:取值范围
select * from emp where sal between 100 and 3000;
——所有Oracle 所有的运算符都不受数据类型控制,除了数字之外用你字符串或者日期进行判断,字符串的意义不大。
2. 例句:日期取值范围
根据已经有的数据格式通过字符串来表示
select * from 数据来源 where hiredate between 源数据日期格式最小值 and 源数据格式最大值

空判断
部分数据列允许有null值的,但是对于null不能使用关系运算判断,关系可以判断的是数据,NULL是空字符串也不是数字0,所以在SQL之中只能通过IS NULL来判断,以及IS NOT NULL (NOT IS NOT) 不为空
例句 :查询数据都所有不为空的信息
select * from 表名 where 类型 is not unll
IN 操作符 (又称谓词IN)
IN指的是根据一个指定的范围数据进行查询
使用NOT IN 的时候如果查询到的数据保护null值,无任何返回结果,IN操作无此限制
范例:select * from 数据 where in; (指定类型1,数据类型2,。。。)

模糊查询:LIKE (核心)
like 可以实现数据模糊查询操作,如何使用like。则必须使用一下两个匹配符合;
1.
“_”匹配任意的一位符号;
2.
“%”匹配任意的符号(包括匹配0位,1位,多位)

 注意:1.  like 如何指定任何字符表示全部查询
           2. like 支持所有的数据类型

范例1: 查询数据中姓名已字母A开头的数据
select * from 数据源 where 数据类型 like ‘A%’; #字符串必须使用’’ 且使用大写。否则无法匹配
范例2: 查询数据中姓名任意位置有字母A的数据
select * from 表名 where 列 like ‘%A%’

查询排序
语法: 使用order by 排序字段【asc|desc】,排序字段【asc|desc。。。。】
asc:升序排序 desc 降序排序

执行顺序
3.选出所有的数据来源列 select 【distinct】* | 列 【别名】,列【别名】。。
1.确定数据的来源 from 表名 【别名】
2.筛选数据的行 【where 限定条件】
4.数据的排序 order by 排序字段【asc|desc】,排序字段【asc|desc】
范例
select * from 列 order by 排序字段
总结
1.select 先列出数据来源
2.where 字句控制数据行
3order by 永远最后执行
4.基本语法结构 select from where order by
5.数据表的结构一定熟悉

猜你喜欢

转载自blog.csdn.net/qq_42952318/article/details/82811560