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;