例子:scott下的emp表
圖1
操作1、取消重複查詢:
select distinct ename,sal from emp;
操作2、使用算數表示式: 查詢員工全年的收入=工資+獎金 nvl用來處理空值null ,如果沒有獎金,即comm為null,則用0代替
雙引號中的是查詢列的別名
sql> select ename "姓名",sal*12+nvl(comm,0)*13 as "年收入" from emp;
操作3、如何連線字串
select ename || 'is a' || job from emp;
操作4、使用where子句
顯示工資高於3000的雇員的薪水和名字
select ename ,salary from emp where salary >3000;
如何查詢在1982.1.1**職的員工
select ename from emp where hiredate >'1-1月-1982';
如何顯示工資2000到5000的員工情況
sql> select ename from emp where sal between 2000 and 5000;
sql> select ename from emp where sal > 2000 and sal <5000;
操作5、如何使用like操作符
%:表示0到多個字元
-下劃線:表示單個字元
如何顯示首字母為s的員工姓名和工資?
select ename,sal from emp where ename like 's%';
如何顯示第三個字元為大寫o的所有員工的姓名和工資
select ename,salary from emp where ename like 『__o%』;
操作5、在where條件中使用in
如何顯示empno為123,345,800的雇員情況?
sql> select ename,sal from emp where empno in(7876,7782,7369);
注意:與or相比應當多使用in,in 的效率會更高!
如何顯示沒有上級雇員的情況?
select ename from emp where mgr is null;
操作6、使用邏輯運算子
查詢工資高於500或是崗位為manager的雇員,同時還要滿足他們的姓名首字母為大寫
select ename ,sal from emp where (sal>500 or job='manager')and ename like 'j%';
操作7、使用order by 子句
如何按照工資的從低到高的順序顯示雇員的資訊
select ename from emp order by sal desc;
select ename from emp order by sal desc ,empno ;
如何按照部門號公升序而雇員的入職時間降序排列?
sql> select ename ,deptno,hiredate from emp order by deptno asc ,hiredate de
sc;使用列的別名排序
select ename ,(sal +nvl(comm,0))*12 "年薪" from emp order by "年薪" asc;
別名需要用雙引號圈中
oracle基礎查詢
1 查詢資料庫名 select name,dbid from v database 或者 show parameter db name 2 查詢例項名 select instance name from v instance 或者show parameter instance name 3 查詢資料...
Oracle基礎查詢
簡單來說oracle是資料庫,使用使用者有很多的資料庫,它有其他資料庫都有的功能,還有乙個功能就是恢復資料庫資料的功能,所以這就是為什麼它有這麼多使用者的原因。那麼是oracle資料庫就會有資料庫的語句,oracle遵循了sql語句的規範,oracle也分為三種資料庫型別。第一種是資料操作語言 da...
Oracle基礎 查詢
select distinct column name1,fromtable name where conditions selectcolumn nameasnew name,fromtable name 表示式是由運算元和運算子組成 運算元可以是變數 常量和字段。演算法運算子 比較運算子 邏輯運...