C/C++教程

【oracle】五、select基本查询用法、select查询顺序

本文主要是介绍【oracle】五、select基本查询用法、select查询顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • SELECT语法
    • 一、select 基本结构和简单查询
      • 1.1 select结构
    • 二、去重、别名和排序
      • 2.1 去重
      • 2.2 别名
      • 2.3 排序
      • 2.4 多字段排序
    • 三、伪列和虚表
      • 3.1伪列
        • 3.1.1 NULL处理
        • 3.1.2 字符串拼接
      • 虚表3.2
    • 四、select 执行顺序
      • 4.1 总结
      • 4.2查询顺序

SELECT语法

一、select 基本结构和简单查询

1.1 select结构

select * |字段[,...] from table [表]

select 关键字 后面跟要查询的内容 from 关键字后面跟数据的来源

解析步骤

  1. from找来源
  2. select 挑数据

二、去重、别名和排序

2.1 去重

select distinct [字段][,...] from [表]

注意:去掉重复是去掉一行的记录,按照一行记录去去重的

2.2 别名

select [字段] [别名] from [表]
-- 字段和别名跟一个空格即可

-- 使用as方式.也可以加一个as进行别名的
select [字段] as [别名] from [表]

2.3 排序

-- 降序
select [字段] from [表名] order by [要排序的字段] desc;
-- 升序
select [字段] from [表名] order by [要排序的字段] asc;

2.4 多字段排序

select [字段] from [表名] order by [要排序的字段] desc, [要排序的字段] asc;
select [字段] from [表名] order by [要排序的字段] asc, [要排序的字段] desc;

三、伪列和虚表

3.1伪列

查询不存在的列即伪列,当需要的结果,不能直接从表里得到,是需要额外计算的就称之为伪列

-- 这里的1 就相当于伪列
select ename,1 from emp;

3.1.1 NULL处理

如果表里存在NULL值,就会影响我们计算,因为NULL和任何数计算都是NULL

-- 如果表达式值为true,则取表达式值,否则就取set值
NVL(表达式,set值)
-- 如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
-- 如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
nulls first
nulls last

3.1.2 字符串拼接

字符串拼接,是为了伪列,中有些需要拼接 的列产生的

select [字段]||‘xx’ as [拼接的列] from [表名]

虚表3.2

虚表是dual;其实是为了满足,某些数据的计算而产生的的

-- 计算 231*21
select 231*21 from dual;

四、select 执行顺序

4.1 总结

  1. 简单查询(某些列、全部)
select 查询字段1,查询字段2 from 数据来源
  1. 去重
select distinct 查询字段1,查询字段2 from 数据来源
  1. 别名
select distinct 查询字段1 as bm1,查询字段2 as bm2 from 数据来源
  1. 伪列
select distinct 查询字段1 as bm1,查询字段2 as bm2, 表达式 as 别名 from 数据来源
  1. 排序
select distinct 查询字段1 as bm1,查询字段2 as bm2, 表达式 as 别名  from 数据来源 order by 要排序的字段 asc -- 默认升序 
select distinct 查询字段1 as bm1,查询字段2 as bm2, 表达式 as 别名  from 数据来源 order by 要排序的字段 desc -- 默认升序 
  1. 和null计算时,得到都是null
  2. 字符串拼接 || 如何和null拼接则是自己
  3. nulls first nulls last 根据选择NULL值排序

4.2查询顺序

select .... from .. order by

  • from 数据源 (先确认数据源)
  • select (根据数据源确认要展示的列)
  • order by (根据要展示的列,进行排序或者正序展示。NULL值会影响排序!!!)
这篇关于【oracle】五、select基本查询用法、select查询顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!