佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Oracle基礎(chǔ)學(xué)習(xí)之簡單查詢和限定查詢

Oracle基礎(chǔ)學(xué)習(xí)之簡單查詢和限定查詢

熱門標(biāo)簽:地方門戶網(wǎng)站 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 服務(wù)外包 AI電銷 百度競價排名 Linux服務(wù)器 呼叫中心市場需求

本文主要介紹的是關(guān)于Oracle中的簡單查詢和限定查詢,下面話不多說,來一起看看吧。

SQL:

     1,DML(數(shù)據(jù)操作語言):主要指的是數(shù)據(jù)庫的查詢與更新的操作,查詢操作是整個sql語法 中最麻煩也是筆試中最常用的部分。

     2,DDL(數(shù)據(jù)定義語言):主要指的是數(shù)據(jù)對象的創(chuàng)建(表、用戶、)例如:creat.需要相關(guān)的設(shè)計范式。

     3,DCL(數(shù)據(jù)控制語言):主要進(jìn)行權(quán)限的操作(需要結(jié)合用戶來觀察),此部分由DBA負(fù)責(zé)。

簡單查詢:

1,利用select 子句控制要顯示的數(shù)據(jù)列:

 select empno,ename,ename,job,sal from emp;

2,可以使用distinct來消除重復(fù)的數(shù)據(jù)行顯示:

 select distinct job from emp;

3,select子句可以進(jìn)行四則運算,可以直接輸出常量內(nèi)容,但是對于字符串使用單引號數(shù)字直接編寫,日期格式按照字符格式:

select empno,ename,(sal*15+(200+100)) income from emp;

4,||負(fù)責(zé)輸出內(nèi)容連接此類的操作很少直接在查詢中出現(xiàn):

 select empno||ename from emp;

5,where子句一般都寫在from子句之后,但是是緊跟著from子句之后執(zhí)行的,where子句控制顯示數(shù)據(jù)行的操作,而select控制數(shù)據(jù)列,select子句要落后于where子句執(zhí)行,所以在select子句之中定義的別名無法在where中使用。

限定查詢:

1,關(guān)系運算符:

 select * from emp where sal>1500;

 select * from emp where ename ='SMITH'

 select empno,ename,job from emp where job>'SALESMAN';

2,邏輯運算符:

 select * from emp where sal>1500 and sal3000;
 select * from emp where sal>2000 or job='CLERK';
 select * from emp where not sal >=2000;

3,范圍查詢:

 select * from emp where sal between 1500 and 2000;
 select * from emp where hiredate between '01-1月-1981'and'31-12月-1981';

4,空判斷(空在數(shù)據(jù)庫上表示不確定,如果在數(shù)據(jù)列使用null不表示0)

select * from emp where comm is not null;

5,IN操作符(類似于between and 而in給出的是指定的范圍):

 select * from emp where empno in (7369,7566,7788,9999);

關(guān)于not innull的問題:

在使用not in 進(jìn)行范圍判斷的時候,如果范圍有null,那么不會有任何結(jié)果返回。

6,模糊查詢:

“-”:匹配任意一位字符;

“%”:匹配任意的0,1,,或者多位字符;

查詢姓名是以字母A開頭的雇員信息:

 select * from emp where ename like 'A%'

查詢姓名第二個字母是A的雇員信息:

select * from emp where ename like '_A%';

查詢姓名任意位置是A的雇員信息:

 select * from emp where ename like '%A%';

查詢排序:

ASC(默認(rèn)):按照升序排列;

DESC: 按照降序排列;

查詢所有的雇員信息,要求按照工資的由高到低:

 select * from emp order by sal desc;

查詢每個雇員的編號,姓名,年薪,按照年薪由低到高排序:

  select empno ,ename,sal*12 income from emp order by income;

語句的執(zhí)行順序:from - where -select - order by

基礎(chǔ)練習(xí):

1,選擇部門30中的所有員工:

 select * from emp where deptno=30;

2,列出所有辦事員(clerk)的姓名,編號,和部門編號:

select ename,empno,deptno from emp 
where job='CLERK';

3,找出傭金高于薪金的60%的員工:

 select * from emp where comm>sal*0.6 ;

4,找出部門10中所有的經(jīng)理(manager)和部門20中所有的辦事員(clerk):

 select * 
 from emp 
 where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK'   );

5,找出部門10中所有的經(jīng)理(manager),部門20中的所有辦事員(clerk),以及既不是經(jīng)理又不是辦事員但是工資高于等于2000的所有員工資料:

 select *
 from emp
 where (deptno=10 and job='MANAGER')or(deptno=20 and
 job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
  select *
  from emp
  where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job
  not in ('CLERK','MANAGER') and sal>=2000);

6,找出收取傭金的員工的不同工作:

select distinct job
 from emp
 where comm is not null;

7,找出收取傭金或者收取的傭金低于100的員工:

  select distinct job
  from emp
 where comm is null or comm100;

8,顯示不帶有“R”的員工姓名:

 select *
 from emp
 where ename not like '%R%';

9,顯示姓名字段含有A的所有員工姓名,顯示的結(jié)果按照基本的工資由高到低,如果工資相同,則按照雇傭年限由早到晚,如果雇傭日期相同,則按職位排序:

 select * from emp where ename like '%A%' order by sal desc,hiredate
 asc,job;

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • Oracle基礎(chǔ)學(xué)習(xí)之子查詢
  • ORACLE 如何查詢被鎖定表及如何解鎖釋放session
  • oracle 查詢表名以及表的列名
  • oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法
  • oracle查詢語句大全(oracle 基本命令大全一)
  • php連接oracle數(shù)據(jù)庫及查詢數(shù)據(jù)的方法
  • oracle數(shù)據(jù)庫常用的99條查詢語句
  • Oracle 表空間查詢與操作方法
  • oracle常用sql查詢語句部分集合(圖文)
  • mysql仿oracle的decode效果查詢

標(biāo)簽:崇左 湖南 黃山 銅川 仙桃 蘭州 湘潭 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle基礎(chǔ)學(xué)習(xí)之簡單查詢和限定查詢》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    明光市| 英吉沙县| 自贡市| 河北省| 武山县| 浠水县| 宽城| 余江县| 三河市| 岳阳市| 双辽市| 宁化县| 东光县| 民勤县| 江西省| 蕲春县| 黔西| 芷江| 黄陵县| 阿尔山市| 沾益县| 女性| 兴文县| 波密县| 镶黄旗| 乌兰察布市| 富裕县| 西吉县| 呈贡县| 新化县| 青浦区| 徐水县| 扶余县| 乡城县| 安乡县| 邳州市| 河西区| 堆龙德庆县| 玉林市| 吴川市| 绿春县|