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;