Oracle基本查询
Posted 学习笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle基本查询相关的知识,希望对你有一定的参考价值。
本例的操作前期都在控制台完成,后期会使用客户端。
1 SQL> --设置行宽 2 SQL> show linesize 3 linesize 80 4 SQL> set linesize 150 5 SQL> --设置列宽 6 SQL> col ename format a8 7 SQL> col sal for 9999 8 //col是column的缩写,代表列,在sqlplus中比sql方便的是支持缩写 9 //for是format的缩写, 10 //a代表一个符号位,8代表长度 11 //9代表一个数字符号位,9999代表该列的列宽为4个数字长度
1 SQL> --查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入 2 SQL> select empno,ename,sal,sal*12,comm,sal*12+comm 3 //可以直接在语句中进行计算
1 /* 2 SQL> SQL中的null值: 3 SQL> 1. 包含null的表达式都为null 4 SQL> 2. null永远!=null 5 SQL> *、 6 SQL> */ 7 SQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) 8 在实际使用的过程中,如果 某个表达式包含空值,那么这个表达式的结果也为null; 9 不能通过=号来判断数据是否为空,应该用is 10 错误: where comm=null; 11 正确:where comm is null;
1 NVL(a,b) 2 nvl函数表示如果a为空,那么取值为b,不为空,取原值。 3 例如: 4 SQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) 5 2 from emp; 6 拓展: 7 SQL> ed 8 使用默认的记事本软件打开上一条sql语句进行编辑 9 保存关闭后 10 SQL> / 11 使用/来执行保存的语句,也就是执行上一条语句
1 去除重复 2 SQL> --distinct 去掉重复记录 3 SQL> select deptno from emp;有重复 4 SQL> select distinct deptno from emp;没有重复 5 去重两个作用与两个列 6 SQL> select distinct deptno,job from emp; 7 上一行的语句意思是:去除部门号和职位都相同的数据 8
1 SQL> --连接符 || 2 SQL> -- concat 3 SQL> select concat(‘Hello‘,‘ World‘) from dual; 4 CONCAT(‘HELL 5 ------------ 6 Hello World 7 SQL> --dual表:伪表 8 dual是数据库提供的伪表,要查询的操作不属于任何的表时,就需要使用此表进行占位。 9 SQL> select 3+2 from dual; 10 3+2 11 ---------- 12 5 SQL> select ‘Hello‘||‘ World‘ 字符串 from dual; 13 字符串 14 ------------ 15 Hello World 16 SQL> --查询员工信息:***的薪水是**** 17 SQL> select ename||‘的薪水是‘||sal 信息 from emp; 18 信息 19 ---------------------------------------------------------- 20 SMITH的薪水是800
以上是关于Oracle基本查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Toad for Oracle 中使用自定义代码片段?
如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串?