Oracle数据库--基本的select语句
Posted Vanguard
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库--基本的select语句相关的知识,希望对你有一定的参考价值。
1. 基本select语句
1)查看当前用户
show user
USER 为 "SCOTT"
2)查询当前用户下的表
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
3)查看员工表的结构
SQL> desc emp
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
4)清屏
SQL> host cls
5)查询所有的员工信息
SQL> select * from emp;
6)设置行宽
SQL> show linesize
linesize 80
SQL> set linesize 120
7)设置列宽
SQL> col ename for a8
SQL> col sal for 9999
SQL> /
8)通过列名
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno
2 from emp;
SQL优化的原则:
1。尽量使用列名
9)查询员工信息:员工号 姓名 月薪
SQL> select empno,ename,sal
10)c命令 change
11)查询员工信息:员工号 姓名 月薪 年薪
SQL> select empno,ename,sal,sal*12
2 from emp;
12)查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入
SQL> select empno,ename,sal,sal*12,comm,sal*12+comm
2 from emp;
SQL中的null
1、包含null的表达式都为null
2、null永远!=null
13)nvl(a,b) nvl2 当a为null,值为b
14)SQL中的null
2、null永远!=null
15)查询奖金为null的员工
SQL> select *
2 from emp
3 where comm=null;
SQL> select *
2 from emp
3 where comm is null;
16)列的别名
select empno as "员工号",ename "姓名",sal "月 薪",sal*12,comm,sal*12+nvl(comm,0)
from emp
17)distinct 去掉重复记录
SQL> select deptno from emp;
SQL> select distinct deptno from emp;
SQL> select job from emp;
SQL> select distinct job from emp;
SQL> select distinct deptno,job from emp;
distinct作用于后面所有的列
18)连接符 ||
concat函数
SQL> select concat(\'Hello\',\' World\') from emp;
SQL> select concat(\'Hello\',\' World\') from dual;
dual表:伪表
伪列
select \'Hello\'||\' World\' 字符串 from dual;
查询员工信息:***的薪水是****
SQL> select ename||\'的薪水是\'||sal 信息 from emp;
以上是关于Oracle数据库--基本的select语句的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE数据库--order by----ORA-01785 ORDER BY必须是select-list 表达式的数目
ORACLE 两个order by的SQL使用 UNION 或者 UNION ALL 报错 ORA-00933:sql命令未正确结束