1. 程式人生 > >Oracle基本查詢

Oracle基本查詢

world 作用 語句 一行 tin 一個 收入 show 兩個

本例的操作前期都在控制臺完成,後期會使用客戶端。
 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基本查詢