1. 程式人生 > >Oracle資料庫:編寫簡單SQL語句-第二章

Oracle資料庫:編寫簡單SQL語句-第二章

--查詢所有列 *代表表格中所有的列

select * from emp;select * from dept;--效率不高

select empno,ename,job,mgr,hiredate,sal,comm, deptno from emp;--效率高

查詢指定的列(也就是投影)

select empno,ename,hiredate,sal,mgr from emp;

--算術運算子

--null:不是空格,也不是0,也不是"" 與任何值做計算返回值都是null;

--nvl(引數一,引數二):當引數一為空時,取引數二的值,否則,取自身引數一的值

--1.將所有員工的薪資上調20%,查詢員工工資上調之後的薪酬資訊

select ename,sal,sal*0.2 from emp;

--2.將所有員工轉正後的薪資上調20%,查詢員工的年薪(包括獎金在內,試用期6個月)

-試用期:sal*6;

--轉正:(sal+sal*0.2)*6

--獎金 comm*12

select ename,sal,comm,nvl(comm,0),(sal*6+(sal+sal*0.2)*6+comm*12) from emp;

列別名:select ename,sal,sal*12 yearSal from emp;

--三種情況別名需要用""括起來

select ename,sal,sal*12 "year sal" from emp;  --別名中包含空格

select ename,sal,sal*12 "Year Sal" from emp; --別名需要區分大小寫

select enaem,sal,sal*12 "year_sal" from emp;別名中包含特殊字元

--連線操作符: || , 用於拼接字串

--原意字串:1.單引號''括起來 2.字串出現在每一行資料中

select ename,job,ename || '的崗位是' ||job from emp;

--消除重複行: distinct 關鍵字

1.查詢所有員工的部門有哪些

select distinct deptno from emp; --單列去重

select distinct deptno,job from emp;--多列去重 

--查看錶結構命令:(在命令視窗輸入): desc(describe) 表名;

例如:desc emp