当前位置: 首页 > news >正文

Oracle 数据库如何查询列

SELECT查询

SELECT [DISTINCT] {*,column alias,..}FROM table alias
WHERE 条件表达式
GROUP BY 分组
HAVING 分组条件
ORDER BY 排序字段列表 [asc|desc]

执行顺序

from --> where --> group --> having --> select --> order by

查询列(字段)

● SELECT * FROM 表名; ->查询某个表中所有的记录的所有字段信息

● SELECT 列名 FROM 表名; ->查询某个表中所有的记录的指定字段信息

● SELECT 列名1,列名2 FROM 表名; -> 查询某个表中所有的记录的字段1 字段2

● SELECT distinct 列名 FROM 表名; ->去除重复记录

● SELECT 表达式 FROM 表名; ->查询表达式

● SELECT xxx as 别名 FROM 表名 表别名 ->使用别名

查询特定字段

-- 检索单个列
select ename from emp; -- 查询雇员姓名
-- 检索多个列
select deptno,dname,loc from dept; -- 查询部门表的deptno,dname, loc 字段的数据。

*代表通配符,能够查询表中所有字段​​​​​​​

-- 检索所有字段
select * from emp; -- 查询emp表所有字段

distinct去重

使用distinct去重,确保查询结果的唯一性

select distinct deptno from emp; -- 去重

注意:如果有多条重复的数据,使用distinct可实现去重,如果只有单字段重复,则无法实现多字段去重,只能实现单字段。

distinct只是实现查询去重,对原数据表不做改变

如果要实现对表数据进行去重​​​​​​​

-- 通过对rowid取反,删除多余重复的数据
delete from 表名
where rowid not in
-- 将重复数据通过分组合并在一起,取最小的rowid
(select min(rowid) from 表名 group by 分组条件);

别名

使用别名便于操作识别 、隐藏底层信息。存在字段别名和表别名​​​​​​​

select ename as "雇员 姓名" from emp;
select ename "雇员姓名" from emp;
select ename 雇员姓名 from emp;
select ename as 雇员姓名 from emp;
select ename as " Ename" from emp;

● as: 字段别名可以使用as;表别名不能使用as

● "":原样输出,可以存在 空格与区分大小写

字符串

使用单引号''来区分字符串,而非双引号"",字符串拼接使用 ||​​​​​​​

select 'my' from emp;sql
select ename||'a'||'-->' info from emp;

伪列

不存在的列,构建虚拟的列,每个数据库里面都存在虚表dual​​​​​​​

-- 1*2,cmj就是伪列
select empno, 1*2 as count,'cmj' as name,deptno from emp;

null

null 遇到数字参与运算的结果为 null,遇到字符串为空串​​​​​​​

select 1+null from dual; -- 结果为null
select '1'||null from dual; -- 结果为1

查询非空数据​​​​​​​

-- 通过is not null 来筛选非空数据
select * from emp where comm is not null;

去空

通过nvl(去空值,代替空的值)替换空值达到去空效果​​​​​​​

-- 如果comm的值为空,则使用0代替
select nvl(comm,0) from emp;

左右拉动查看完整代码

今天的内容就学习到这里了,每个工作日小编都会更新一个有关测试的小知识,希望大家多多关注我们,一起来学习喔!

http://www.dtcms.com/a/366866.html

相关文章:

  • (论文速读)Navigation World Models: 让机器人像人类一样想象和规划导航路径
  • 子串:最小覆盖子串
  • 深度学习中的学习率优化策略详解
  • UE5 制作游戏框架的部分经验积累(持续更新)
  • Kubernetes知识点(三)
  • AWS中为OpsManage配置IAM权限:完整指南
  • 深入剖析Spring Boot / Spring 应用中可自定义的扩展点
  • 力扣654:最大二叉树
  • AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易
  • .NET 开发者的“Fiddler”:Titanium.Web.Proxy 库的强大魅力
  • 以数据与自动化驱动实验室变革:智能化管理整体规划
  • “乾坤大挪移”:耐达讯自动化RS485转Profinet解锁HMI新乾坤
  • 数据安全章节考试考点及关系梳理
  • Hadoop(七)
  • 服务器数据恢复—服务器断电,RAID数据恢复大揭秘
  • Python - 通用滑块验证码识别库 Captcha-Recognizer
  • MySQL复制技术的发展历程
  • 【论文阅读—深度学习处理表格数据】ResNet-like FT Transformer
  • 当电力设计遇上AI:良策金宝AI如何重构行业效率边界?
  • 学习嵌入式的第三十三天——网络编程
  • HTB Sau
  • 服务器异常磁盘写排查手册 · 已删除文件句柄篇
  • 稠密矩阵和稀疏矩阵的对比
  • C++面试突击(1)
  • 【面试】MySQL 面试常见优化问题
  • 面试官:如何确保动态线程池任务都执行完?
  • 计算机网络模型入门指南:分层原理与各层作用
  • EasyExcel:阿里开源的高效 Excel 处理工具,轻松解决 POI 内存溢出问题
  • SolidWorks对电脑的硬件配置要求具体有哪些
  • [Sublime Text]-显示菜单栏